Designing IA for AI - Information Architecture Conference 2024
Open Annotation Core Data Model (tutorial)
1. 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)
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 1
2. 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.
”
Users Annotate To:
…Provide an Aide-Memoire Highlighting, Bookmarking
…Share and Inform Commenting, Describing
…Improve Discovery Tagging, Linking
…Organize Resources Classifying, Identifying
…Interact with Others Questioning, Replying
…Create as well as Consume Editing, Moderating
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 2
3. Open Annotation Data Model
Follow along:
http://www.openannotation.org/spec/core/
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 3
4. 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
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 4
5. Core Data Model
Annotation: Represents the relationship between Body and Target
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 5
6. Core Data Model
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 6
7. 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> .
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 7
8. 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.
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 8
9. Core Data Model: Types
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 9
10. 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” .
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 10
11. 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 …
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 11
12. Core Data Model: Embedded Bodies
Embed a text comment! Reference a video file!
With a string literal! With a URI!
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 12
13. Core Data Model: Embedded Bodies
Solution: W3C’s Content in RDF specification
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 13
14. Core Data Model: Embedded Bodies
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 14
15. 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
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 15
16. Core Data Model: Tagging
Plain Text tagging uses Content in RDF, and adds the oa:Tag class
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 16
17. Core Data Model: Tagging
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 17
18. Core Data Model: Tagging
Semantic tagging uses the basic model,
and adds the oa:SemanticTag class
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 18
19. Core Data Model: Tagging
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 19
20. 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
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 20
21. Core Data Model: Tagging
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 21
22. 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.
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 22
23. Core Data Model: Fragment URIs
Fragment URIs use the basic model
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 23
24. Core Data Model: Fragment URIs
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 24
25. Core Data Model: Fragment URIs
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 25
26. Core Data Model: No Body
Annotations may only have an implicit body
Examples:
• Bookmarking
• Highlighting
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 26
27. Core Data Model: No Body
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 27
28. Core Data Model: Multiple Bodies & Targets
Annotations may have multiple bodies and targets
Each body applies individually to each target
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 28
29. Core Data Model: Multiple Bodies & Targets
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 29
30. 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
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 30
31. Core Data Model: Provenance
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 31
32. Core Data Model: Provenance
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 32
33. Core Data Model: Provenance Agents
Useful to know additional information about the agents involved.
Classes of Agent: Properties of Agents:
• Person • Name
• Organization • Email address
• Software • Home page
• OpenID
• (other FOAF properties)
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 33
34. Core Data Model: Provenance Agents
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 34
35. Core Data Model: Provenance Agents
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 35
36. 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.
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 36
37. 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
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 37
38. Core Data Model: Motivations
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 38
39. Core Data Model: Motivations
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 39
40. 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.flickr.com/photos/hinkeb/5232293964/
http://www.w3.org/community/openannotation/
http://www.openannotation.org/
Open Annotation Community Group West Coast Open Annotation Rollout
http://www.w3.org/community/openannotation/ April 9th 2013, Stanford, CA, USA 40