2nd part of the west coast Open Annotation rollout:
- Open Annotation Core Model http://www.slideshare.net/azaroth42/open-annotation-core-data-model-tutorial
How AI, OpenAI, and ChatGPT impact business and software.
Open Annotation, Specifiers and Specific Resources tutorial
1. Cambridge Semantic Web Meetup
May 14th 2013
1
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Open Annotation Data Model:
Specifiers and Specific Resources
Paolo Ciccarese
paolo.ciccarese@gmail.com
Harvard Medical School
@paolociccarese
Robert Sanderson
azaroth42@gmail.com
Los Alamos National Laboratory
@azaroth42
(Community Group Co-Chairs)
Massachusetts General Hospital
2. Cambridge Semantic Web Meetup
May 14th 2013
2
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specifiersand Specific Resources
This module addresses several issues:
• Advanced Segmentation
• Fragments are not expressive enough for use cases
• Some media types do not have fragment definition at all
• Time and the Dynamic Web
• Representations change and keep the same URI
• Annotation may only apply to specific negotiated format
• Styling Annotation
• Style is vehicle for human-only semantics (eg red strike-through)
• Style may be referenced in comments (the green highlight)
• Scoping
• Eg. the web page being viewed while an image was annotated
3. Cambridge Semantic Web Meetup
May 14th 2013
3
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
4. Cambridge Semantic Web Meetup
May 14th 2013
4
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specific Resources
Specific Resource: A resource that is somehow more specific or more
precisely defined than the “source” resource
Source: The resource as identified by its URI
5. Cambridge Semantic Web Meetup
May 14th 2013
5
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specific Resources
6. Cambridge Semantic Web Meetup
May 14th 2013
6
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specific Resources also for the Body
7. Cambridge Semantic Web Meetup
May 14th 2013
7
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specific Resources also for the Body
8. Cambridge Semantic Web Meetup
May 14th 2013
8
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specifiers
There are four types of Specifier that describe how the Specific Resource
is different to the Source resource:
• Selector
• Describes a segment of the resource
• State
• Describes a state that the resource was in, via time or HTTP
• Style
• Describes a Style (using CSS) for the Annotation
• Scope
• References a resource which was being used for the Annotation
9. Cambridge Semantic Web Meetup
May 14th 2013
9
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specifiers: Selectors
Selectors describe the segment of interest of a resource
Selectors are needed for several reasons:
• Many media types do not have fragment specifications
• Those that do often are not sufficiently precise in terms of description
• Without knowing the media type, it is not possible to know how to
interpret a fragment
• URIs are opaque strings, and systems normally do not try to look
within them for searching
• Combinations of segment plus State, Style or Scope
The specification defines some general, cross-community selectors
Communities may also define their own
10. Cambridge Semantic Web Meetup
May 14th 2013
10
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specifiers: Selectors
11. Cambridge Semantic Web Meetup
May 14th 2013
11
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specifiers: Selectors
12. Cambridge Semantic Web Meetup
May 14th 2013
12
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specifiers: Selectors
Selectors defined:
• Fragment Selector
• Range Selectors:
• Text Position Selector
• Text Quote Selector
• Data Position Selector
• Area Selectors
• SVG Selector
13. Cambridge Semantic Web Meetup
May 14th 2013
13
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Core Data Model: Fragment URIs
14. Cambridge Semantic Web Meetup
May 14th 2013
14
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specifiers: Fragment Selector
Fragment Selector uses the fragment specifications to describe the
segment:
• Useful in combination with other Specifiers
• No need to reinvent the wheel!
• Allows Specific Resource URI to be reused
• Allows additional information to be attached, such as the specification
used to define the fragment
Current Fragment specifications include:
• HTML, XML, RDF/XML
• PDF
• Plain Text
• SVG
• Media Fragments
15. Cambridge Semantic Web Meetup
May 14th 2013
15
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specifiers: Fragment Selector
16. Cambridge Semantic Web Meetup
May 14th 2013
16
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specifiers: Fragment Selector
17. Cambridge Semantic Web Meetup
May 14th 2013
17
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specifiers: SVG Selector
Media Fragments can only describe rectangles.
SVG Selector allows arbitrary paths, circles, and so forth.
18. Cambridge Semantic Web Meetup
May 14th 2013
18
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specifiers: SVG Selector
Note that the client downloads the SVG resource in this case
19. Cambridge Semantic Web Meetup
May 14th 2013
19
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specifiers: Text Selectors
Several intersecting issues require text based selectors:
• HTML, PDF and Plain Text have fragment specifications, but only
Plain Text allows arbitrary spans of text
• Other formats don’t have a specification at all
• One text selector could be reused across formats of the same text
• Quotations in Annotations allow otherwise protected texts to be
reproduced
• Without the quotation and instead using character
position, changes to the text will invalidate the selector
We introduce two selectors:
• Text Quote Selector
• Text Position Selector
20. Cambridge Semantic Web Meetup
May 14th 2013
20
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specifiers: Text Quote Selector
21. Cambridge Semantic Web Meetup
May 14th 2013
21
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specifiers: Text Quote Selector
22. Cambridge Semantic Web Meetup
May 14th 2013
22
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specifiers: Text Position Selector
23. Cambridge Semantic Web Meetup
May 14th 2013
23
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specifiers: Text Position Selector
24. Cambridge Semantic Web Meetup
May 14th 2013
24
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specifiers: States
Selectors describe segments, but the URI of the Source identifies the
generic web resource, not a particular representation.
The web is dynamic, representations change based on many factors;
States allow us to record some of the factors to get back to the right
representation.
We introduce two States:
• TimeState:
• Time as a universal versioning mechanism,
and pointing to archived copies of the resource
• HttpRequestState
• Capture HTTP headers for content negotiation (etc)
25. Cambridge Semantic Web Meetup
May 14th 2013
25
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specifiers: Time State
26. Cambridge Semantic Web Meetup
May 14th 2013
26
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specifiers: Time State
27. Cambridge Semantic Web Meetup
May 14th 2013
27
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specifiers: HTTP Request State
28. Cambridge Semantic Web Meetup
May 14th 2013
28
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specifiers: HTTP Request State
29. Cambridge Semantic Web Meetup
May 14th 2013
29
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specifiers: CSS Style
Some Annotations should maintain the style choices of the creator,
for example to not draw a black rectangle on an image of the night sky
30. Cambridge Semantic Web Meetup
May 14th 2013
30
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specifiers: CSS Style
31. Cambridge Semantic Web Meetup
May 14th 2013
31
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specifiers: Scope
It is often useful to know in which context a resource was annotated.
This is recorded as a Scope of the Specific Resource
32. Cambridge Semantic Web Meetup
May 14th 2013
32
Open Annotation Community Group
http://www.w3.org/community/openannotation/
Specifiers: Scope