[annotator-dev] Multiple Ranges

Randall Leeds tilgovi at hypothes.is
Mon Mar 11 06:20:52 UTC 2013

On Thu, Mar 7, 2013 at 3:19 AM, Robert Casties
<casties at mpiwg-berlin.mpg.de> wrote:
> Hi Randall,
> On 06.03.13 22:24, Randall Leeds wrote:
>> We have also begun to move toward a data format which allows for
>> multiple targets (even pointing to distinct pages), not just multiple
>> ranges (ranges are only one kind of selector on a resource). It is
>> still JSON, but should be structured such that a JSON-LD context could
>> easily provide all the OpenAnnotation schema information without any
>> further transformation.
> Do you already have any ideas on the JSON format?

 Back in September I updated the page on the W3C wiki for
OpenAnnotation with some sketches demonstrating transforming our
annotator-compatible annotations into OA RDF in XML.


However, this assumes text-only annotations. I think the next step for
us is to convey the content type of the annotation body, so that it
could be anything. This is important if your annotations are meant to
express relationships between resources in a machine-readable way.

That sketch of mine is slightly out of date with the data model. There
has since been a section incoporated in the specification recommending
an example JSON-LD context mapping keys to classes and relationships
within the vocabulary:

> We are still interested to use annotations also to establish and comment
> on relations between multiple documents and parts of documents, e.g.
> sentence A in text B is a translation of sentence C in text D. This
> would need the annotation to have multiple targets and a way to specify
> the type and direction of the relation. We would like to use the same
> also for image-image and text-image relation-annotations.

In Hypothes.is, we currently treat the annotation body text as
markdown, which allows us to include links in the body of an
annotation and human-readable text describing the link relationships,
but ideally we could publish machine-readable annotations in a similar
way by getting explicit about the format of the body. For example, if
you can express the relationships as a graph, you could publish that
graph as an annotation.

There is an example of doing that here:

The body would then have a content type of a triple serialization
format and the JSON would contain the base64 encoding of that

More information about the annotator-dev mailing list