Annotation and Linking/Darmstadt
From IntereditionWiki
Contents |
Group Code Repositories
Grant Dickie All TILE project
Moritz Wissenbach https://github.com/wissenbach/TextImageLinkWorkflow
Cesar Ruiz https://sourceforge.net/projects/sitlserver/
Joaquin Gayoso Cabada Application for viewing SITL information as a Google Book
Doug Reside All Line Recognizer Service
Notes on Group Progress
Below are mostly informal notes and thoughts from the Annotation and Linking group.
This group was concentrating on getting different web annotation services to work together in order to provide a cross-platform exchange of data, information, and ideas. In this way, the group hoped to foster the kind of collaboration that Interedition wants.
Development of a 'Universal' Model for data exchange
- Helps with the idea of 'tool chaining' of microservices
- Exchange data in a more abstract format
- Have multiple layers of complexity, where the bottom-most layer is the least complex data model and the top layer is the application data model
- Example: Bottom Layer: Abstract Data model representing various objects, Top Layer: TILE Application/Interface that processes the data in it's own unique way
Discussion
- Create a basic contract with users of the interface to develop a basic imagelist with unique identifiers for objects
- Don't nest objects together: declare images separate from lines
- Example:
"images":[{id:'image1',url:'image1.jpg'},{id:'image2',...}],"text":[{id:'line1',content},...],"references":[{"images":"image1","lines":"line2"},...
- Being as minimilastic as possible
- Each Object has an ID that makes it unique with additional data that may or may not be read by the client application
- Each reference is an object that represents a 1:1 relationship between two different objects of two different unique IDs
- Can be able to represent both non-linked data as well as pre-defined links within the simple model
Simplified Image and Text Linking Model (SITL)
As represented in an example JSON structure:
{
"images":[{"id":"image1","url":"http://t1.gstatic.com/images?q=tbn:ANd9GcQ752t-ew09yYaqNjpMKc3LXXm2MmEZaqNNGkkCqdS1DUCd3T7F"},{"id":"image2","url":"http://t3.gstatic.com/images?q=tbn:ANd9GcSOIK_C2UP_ye6X-5jLoSwwc5WJDzT8LKdUky4EXZqXYbAvGhbVMQ"}],
"text":[{"id":"line1","content":"Lorem ipsum dolor sit amet"},{"id":"line2","content":"onsectetur adipisicing elit"},{"id":"line3","content":"sed do eiusmod tempor incididunt ut labore et dolore magna aliqua"},{"id":"line4","content":"Ut enim ad minim veniam"}],
"shapes":[{"id":"1","type":"rectangle","width":"100","height":"100","x":"10","y":"10","data":{}},{"id":"1","type":"circle","width":"100","height":"100","x":"50","y":"75","data":{}}],
"links":[{"images":"image1","text":"line1"},{"images":"image1","text":"line2"},{"text":"line3","images":"image1"},{"shapes":"1","images":"image1"},{"text":"line1","shapes":"1"}]
}
Data Model API
The following are arrays within the common data model:
images Contains objects of type image. Image object syntax: {'id':String,'url':String}
text Contain text objects. Text object syntax: {'id':String,'content':String/Blob}
shapes Contain shape objects that currently only represent bounding boxes. Shape object syntax: {'id':String,'width':Int,'height':Int,'x':Int,'y':Int,'type':String,'data':Object}
Note: 'data' is where application-specific data would go
Note: In order for different applications to successfully exchange data, the naming conventions for the arrays should be kept.
Online Service for Data Exchange
A section of the web services group is working on developing a REST web application for exchanging data between different programs such as the Faust collection, TILE, and CollateX. This service works by users sending POST and GET requests to add and replace data that is stored in a session on a server with a unique ID.
This application will exist online and allow multiple applications to interact with the data. In this way, data is not centralized in each application but in a central space - thus allowing for each individual application to become a microservice.
Here are some informal models that my help explain this:
Taken on 3/1/2011 - prototype for the STIL model
In Practice
Medieval text that has been translated from the Simplified model into TILE: See example
Integration of Google Books with the simplified model, using an integrated Google Books viewer service. See example
Development
- Import and Export plugins between TILE and the Faust project (Grant and Gregor)
- Converting the simiplified model (see above) into an XML format and back into JSON (Moritz)
- Cesar and Joaquin are developing a REST service that will store images, text, and other links in an online REST database
- Further document our ideas and findings here in the Wiki


