25
West Coast Open Annotation Rollout April 9 th 2013, Stanford, CA, USA 1 Open Annotation Community Group http://www.w3.org/community/openannotation/ Open Annotation Data Model: Multiplicity and Publishing Modules Robert Sanderson [email protected] Los Alamos National Laboratory @azaroth42 Paolo Ciccarese [email protected] Harvard Medical School @paolociccarese (Community Group Co-Chairs)

Multiplicity and Publishing in Open Annotation (tutorial)

Embed Size (px)

DESCRIPTION

3rd of 3 part tutorial about the W3C Open Annotation data model, focusing on the multiplicity and publishing modules.

Citation preview

Page 1: Multiplicity and Publishing in Open Annotation (tutorial)

West Coast Open Annotation Rollout April 9th 2013, Stanford, CA, USA 1 Open Annotation Community Group

http://www.w3.org/community/openannotation/

Open Annotation Data Model: Multiplicity and Publishing Modules

Robert Sanderson [email protected] Los Alamos National Laboratory @azaroth42 Paolo Ciccarese [email protected] Harvard Medical School @paolociccarese (Community Group Co-Chairs)

Page 2: Multiplicity and Publishing in Open Annotation (tutorial)

West Coast Open Annotation Rollout April 9th 2013, Stanford, CA, USA 2 Open Annotation Community Group

http://www.w3.org/community/openannotation/

Multiplicity

The Data Model allows for multiple bodies and multiple targets •  Easiest: Multiple instances of hasBody, hasTarget •  Issue: What are the semantics?

Multiples of hasBody/hasTarget: Treated individually Requirements:

•  Choice: Only one resource needs to be displayed •  Composite: All resources are required together, as a set •  List: All resources are required together, with order

Page 3: Multiplicity and Publishing in Open Annotation (tutorial)

West Coast Open Annotation Rollout April 9th 2013, Stanford, CA, USA 3 Open Annotation Community Group

http://www.w3.org/community/openannotation/

Multiplicity: Choice

Choice: Rendering agent should choose one resource to display oa:default: The default resource of the Annotation’s producer oa:item: Another possible resource

Page 4: Multiplicity and Publishing in Open Annotation (tutorial)

West Coast Open Annotation Rollout April 9th 2013, Stanford, CA, USA 4 Open Annotation Community Group

http://www.w3.org/community/openannotation/

Multiplicity: Choice

Page 5: Multiplicity and Publishing in Open Annotation (tutorial)

West Coast Open Annotation Rollout April 9th 2013, Stanford, CA, USA 5 Open Annotation Community Group

http://www.w3.org/community/openannotation/

Multiplicity: Composite

Composite: A set of resources, all of which are required to understand the Annotation correctly

Page 6: Multiplicity and Publishing in Open Annotation (tutorial)

West Coast Open Annotation Rollout April 9th 2013, Stanford, CA, USA 6 Open Annotation Community Group

http://www.w3.org/community/openannotation/

Multiplicity: Composite

Page 7: Multiplicity and Publishing in Open Annotation (tutorial)

West Coast Open Annotation Rollout April 9th 2013, Stanford, CA, USA 7 Open Annotation Community Group

http://www.w3.org/community/openannotation/

Multiplicity: List

Page 8: Multiplicity and Publishing in Open Annotation (tutorial)

West Coast Open Annotation Rollout April 9th 2013, Stanford, CA, USA 8 Open Annotation Community Group

http://www.w3.org/community/openannotation/

Multiplicity: List

Page 9: Multiplicity and Publishing in Open Annotation (tutorial)

West Coast Open Annotation Rollout April 9th 2013, Stanford, CA, USA 9 Open Annotation Community Group

http://www.w3.org/community/openannotation/

Publishing Annotations

The Data Model is only a model, not a protocol: •  Does not specify interactions between client/server •  Does not limit additional descriptive features •  Does not specify annotation search, retrieval or management

Some aspects related to publishing are important:

•  Serialization of the model •  Embedding resources

•  Including other graphs •  Equivalence of resources

Page 10: Multiplicity and Publishing in Open Annotation (tutorial)

West Coast Open Annotation Rollout April 9th 2013, Stanford, CA, USA 10 Open Annotation Community Group

http://www.w3.org/community/openannotation/

Publishing: JSON-LD Serialization

JSON-LD is the latest RDF serialization: http://json-ld.org/spec/latest/json-ld/ Open Annotation recommends its use over RDF/XML:

•  Easier for developers •  More web application friendly •  Looks like JSON (with appropriate context)

•  So special parser not required •  Easy to generate without special libraries

RDF/XML and Turtle are also recommended, if content negotiation is supported.

Page 11: Multiplicity and Publishing in Open Annotation (tutorial)

West Coast Open Annotation Rollout April 9th 2013, Stanford, CA, USA 11 Open Annotation Community Group

http://www.w3.org/community/openannotation/

Publishing: JSON-LD Context

JSON-LD has a Context description which maps JSON object keys to RDF predicates, and assigns namespace prefixes:

{“@context”:{ “oa”: “http://www.w3.org/ns/oa#”, “cnt”: “http://www.w3.org/2011/content#”, “dc”: “http://purl.org/dc/elements/1.1/”, … “hasBody”: {“@type”:”@id”, “@id”:”oa:hasBody”}, “hasTarget”: {“@type”:”@id”, “@id”:”oa:hasTarget”}, … “chars”: “cnt:chars”, “format”: “dc:format”, “when”: “oa:when” … } }

Page 12: Multiplicity and Publishing in Open Annotation (tutorial)

West Coast Open Annotation Rollout April 9th 2013, Stanford, CA, USA 12 Open Annotation Community Group

http://www.w3.org/community/openannotation/

Publishing: JSON-LD Example

Reuse of the Context definition makes simple annotations simple: { “@context”: “http://www.w3.org/ns/oa-context-20130208.json”, “@type”: “oa:Annotation”, “hasBody”: “http://www.youtube.com/watch?v=fgg2tpUVbXQ”, ”hasTarget”: ”http://zebu.uoregon.edu/hudf/hudf_300dpi.jpg” }

Page 13: Multiplicity and Publishing in Open Annotation (tutorial)

West Coast Open Annotation Rollout April 9th 2013, Stanford, CA, USA 13 Open Annotation Community Group

http://www.w3.org/community/openannotation/

Publishing: JSON-LD Example

And complex annotations still (somewhat) readable: { “@context”: “http://www.w3.org/ns/oa-context-20130208.json”, “@id”: “http://www.example.org/annotations/1.json”, “@type”: “oa:Annotation”, “annotatedAt”: “2012-11-10T09:08:07”, “annotatedBy”: { “@id” : “http://www.example.com/people/rsanderson”, “@type”: “foaf:Person”, “mbox”: “[email protected]”}, “hasBody”: “http://www.youtube.com/watch?v=fgg2tpUVbXQ”, …

Page 14: Multiplicity and Publishing in Open Annotation (tutorial)

West Coast Open Annotation Rollout April 9th 2013, Stanford, CA, USA 14 Open Annotation Community Group

http://www.w3.org/community/openannotation/

Publishing: JSON-LD Example (cont)

”hasTarget”: { ”@id”: ”urn:uuid:1d823e02-60a1-47ae-bc872081729c”, ”@type”: ”oa:SpecificResource”, ”hasSelector”: { ”@id”: ”urn:uuid:6e353e12-30c2-98a3-39ff2081729c”, ”@type”: ”oa:FragmentSelector”, ”conformsTo”: ”http://www.w3.org/TR/media-frags”, ”value”: ”xywh=10,10,5,5” } ”hasSource”: { ”@id”: ”http://zebu.uoregon.edu/hudf/hudf_300dpi.jpg”, ”@type”: ”dcterms:Image” } }

Page 15: Multiplicity and Publishing in Open Annotation (tutorial)

West Coast Open Annotation Rollout April 9th 2013, Stanford, CA, USA 15 Open Annotation Community Group

http://www.w3.org/community/openannotation/

Publishing: Embedding Resources

Resources other than the body can benefit from being embedded: •  SVG Selector •  CSS Style

Potentially other resources:

•  When the resource is offline, and being sent along with the annotation to a publishing server

•  For preservation •  To include the exact representation, perhaps otherwise un-

obtainable

Page 16: Multiplicity and Publishing in Open Annotation (tutorial)

West Coast Open Annotation Rollout April 9th 2013, Stanford, CA, USA 16 Open Annotation Community Group

http://www.w3.org/community/openannotation/

Publishing: Embedding Resources

The Content in RDF specification is reused:

Page 17: Multiplicity and Publishing in Open Annotation (tutorial)

West Coast Open Annotation Rollout April 9th 2013, Stanford, CA, USA 17 Open Annotation Community Group

http://www.w3.org/community/openannotation/

Publishing: Embedding Resources

Page 18: Multiplicity and Publishing in Open Annotation (tutorial)

West Coast Open Annotation Rollout April 9th 2013, Stanford, CA, USA 18 Open Annotation Community Group

http://www.w3.org/community/openannotation/

Publishing: Embedding RDF Graphs

It is useful to embed RDF graphs within the Annotation. Prefer to use Content in RDF approach, but if Trig/Trix is requested:

Page 19: Multiplicity and Publishing in Open Annotation (tutorial)

West Coast Open Annotation Rollout April 9th 2013, Stanford, CA, USA 19 Open Annotation Community Group

http://www.w3.org/community/openannotation/

Publishing: Embedding RDF Graphs

Page 20: Multiplicity and Publishing in Open Annotation (tutorial)

West Coast Open Annotation Rollout April 9th 2013, Stanford, CA, USA 20 Open Annotation Community Group

http://www.w3.org/community/openannotation/

Publishing: Equivalent Resources

Useful to know that Annotations (and other resources) have been duplicated between systems:

Page 21: Multiplicity and Publishing in Open Annotation (tutorial)

West Coast Open Annotation Rollout April 9th 2013, Stanford, CA, USA 21 Open Annotation Community Group

http://www.w3.org/community/openannotation/

Publishing: Equivalent Resources

Page 22: Multiplicity and Publishing in Open Annotation (tutorial)

West Coast Open Annotation Rollout April 9th 2013, Stanford, CA, USA 22 Open Annotation Community Group

http://www.w3.org/community/openannotation/

Extending Motivations

The Data Model defines only a few core Motivations Intent is for communities to extend as necessary:

1.  Create a new ConceptScheme (vocabulary/taxonomy) 2.  Create a new instance of oa:Motivation 3.  Link new instance to at least one existing Motivation if possible 4.  Assign labels and other information to describe its use

Page 23: Multiplicity and Publishing in Open Annotation (tutorial)

West Coast Open Annotation Rollout April 9th 2013, Stanford, CA, USA 23 Open Annotation Community Group

http://www.w3.org/community/openannotation/

Extending Motivations

Page 24: Multiplicity and Publishing in Open Annotation (tutorial)

West Coast Open Annotation Rollout April 9th 2013, Stanford, CA, USA 24 Open Annotation Community Group

http://www.w3.org/community/openannotation/

Extending Motivations

Page 25: Multiplicity and Publishing in Open Annotation (tutorial)

West Coast Open Annotation Rollout April 9th 2013, Stanford, CA, USA 25 Open Annotation Community Group

http://www.w3.org/community/openannotation/

Thank You

Robert Sanderson [email protected] Los Alamos National Laboratory @azaroth42 Paolo Ciccarese [email protected] Harvard Medical School @paolociccarese (Community Group Co-Chairs)

http://www.w3.org/community/openannotation/ http://www.openannotation.org/

http://www.flickr.com/photos/hinkeb/5232293964/