40
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: Core Robert Sanderson [email protected] Los Alamos National Laboratory @azaroth42 Paolo Ciccarese [email protected] Harvard Medical School @paolociccarese (Community Group Co-Chairs)

Open Annotation Core Data Model (tutorial)

Embed Size (px)

DESCRIPTION

Walk through of a single example building up an Open Annotation system with the Core specification. First of three slide decks.

Citation preview

Page 1: Open Annotation Core Data Model (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: Core

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

Page 2: Open Annotation Core Data Model (tutorial)

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

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

What is Annotation?

An Annotation is considered to be a set of connected resources, typically including a body and target, where the body is related to the target.

“ ”

Highlighting, Bookmarking Commenting, Describing Tagging, Linking Classifying, Identifying Questioning, Replying Editing, Moderating

Users Annotate To:

…Provide an Aide-Memoire …Share and Inform …Improve Discovery …Organize Resources …Interact with Others …Create as well as Consume

Page 3: Open Annotation Core Data Model (tutorial)

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

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

Open Annotation Data Model

Follow along: http://www.openannotation.org/spec/core/

Page 4: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model

Annotation: The conceptual linkage between body and target Body: The comment or resource which is “about” the Target Target: The resource which is being discussed

Page 5: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model

Annotation: Represents the relationship between Body and Target

Page 6: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model

Page 7: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model

<x:MyAnno> a oa:Annotation ; oa:hasBody <http://www.youtube.com/watch?v=fgg2tpUVbXQ> ; oa:hasTarget <http://zebu.uoregon.edu/hudf/hudf_300dpi.jpg> .

Page 8: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Types

Useful to know the general type of the Body and Target. Useful to know the media type of the representation. Recommendation to use Dublin Core Types vocabulary.

Page 9: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Types

Page 10: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Types

<x:MyAnno> a oa:Annotation ; oa:hasBody <http://www.youtube.com/…> ; oa:hasTarget <http://zebu.uoregon.edu/…> .

<http://www.youtube.com/…> a dctypes:MovingImage ; dc:format “application/flv” .

<http://zebu.uoregon.edu/…> a dctypes:Image ; dc:format “image/jpeg” .

Page 11: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Embedded Bodies

Many (existing and previous) systems embed textual bodies within the annotation document, as a literal string.

However Bodies are not just textual! However string literals are easy and currently common!

However literals aren’t part of the web architecture, and have no identity. You can’t associate arbitrary additional information with them!

However you don’t really need to. Resources will mean no one implements the data model!

However …

Page 12: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Embedded Bodies

Embed a text comment! With a string literal!

Reference a video file! With a URI!

Page 13: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Embedded Bodies

Solution: W3C’s Content in RDF specification

Page 14: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Embedded Bodies

Page 15: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Tagging

Tagging is the simplest form of Annotation Two forms:

•  Plain Text Tags •  Tagging with a string, typically a single word

•  Semantic Tags •  Tagging with URI that identifies a concept •  Tagging with a document, standing for a concept

Page 16: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Tagging

Plain Text tagging uses Content in RDF, and adds the oa:Tag class

Page 17: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Tagging

Page 18: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Tagging

Semantic tagging uses the basic model, and adds the oa:SemanticTag class

Page 19: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Tagging

Page 20: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Tagging

Common to use a document as a “semantic” tag This is not good practice, and the data model adds an intermediate node

Page 21: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Tagging

Page 22: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Fragment URIs

Most non-tag Annotations are about segments of a resource Web Architecture uses URI Fragments to identify and describe segments Examples: •  http://www.example.com/index.html#para1 •  http://www.example.com/image.jpg#xywh=10,10,200,300

Good for simple segments, but not sufficient for all cases.

Page 23: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Fragment URIs

Fragment URIs use the basic model

Page 24: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Fragment URIs

Page 25: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Fragment URIs

Page 26: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: No Body

Annotations may only have an implicit body Examples:

•  Bookmarking •  Highlighting

Page 27: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: No Body

Page 28: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Multiple Bodies & Targets

Annotations may have multiple bodies and targets Each body applies individually to each target

Page 29: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Multiple Bodies & Targets

Page 30: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Provenance

It is important to record the provenance of the Annotation •  Who was the person who created the annotation?

•  Needed for spam, reputation models, etc. •  When did they do it?

•  Needed for synchronization •  Who serialized the annotation to the document format?

•  Useful for debugging, advertising •  When did they serialize it?

•  Deduplication, debugging, synchronization

Page 31: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Provenance

Page 32: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Provenance

Page 33: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Provenance Agents

Classes of Agent:

•  Person •  Organization •  Software

Properties of Agents: •  Name •  Email address •  Home page •  OpenID •  (other FOAF properties)

Useful to know additional information about the agents involved.

Page 34: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Provenance Agents

Page 35: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Provenance Agents

Page 36: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Motivations

We know the what, who and when… need to know the why •  Introduce a Motivation class, separate from Annotation class. •  Uses the SKOS Concept ontology to provide richness and cross-

community resolution. •  Spec gives advice on how to create your own Motivations when

necessary.

Page 37: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Motivations

Motivation Description oa:bookmarking Recording a resource or point of interest oa:classifying Assigning a class to a resource oa:commenting Providing a review or comment oa:describing Describing the resource oa:editing Requesting a change to the resource oa:highlighting Region or span of interest to highlight oa:identifying Assigning an identifier to a resource oa:linking Linking another resource to the target oa:moderating Assignment of value or quality oa:questioning Asking a question about the resource oa:replying Replying to previous statement or q. oa:tagging Tagging a resource

Core Data Model: Motivations

Page 38: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Motivations

Page 39: Open Annotation Core Data Model (tutorial)

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

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

Core Data Model: Motivations

Page 40: Open Annotation Core Data Model (tutorial)

West Coast Open Annotation Rollout April 9th 2013, Stanford, CA, USA 40 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/