Open Annotation Core Data Model (tutorial)

Preview:

DESCRIPTION

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

Citation preview

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 azaroth42@gmail.com Los Alamos National Laboratory @azaroth42 Paolo Ciccarese paolo.ciccarese@gmail.com Harvard Medical School @paolociccarese (Community Group Co-Chairs)

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

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/

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

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

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

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> .

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.

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

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” .

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 …

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!

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

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

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

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

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

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

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

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

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

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.

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

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

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

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

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

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

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

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

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

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

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.

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

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

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.

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

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

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

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 azaroth42@gmail.com Los Alamos National Laboratory @azaroth42 Paolo Ciccarese paolo.ciccarese@gmail.com 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/

Recommended