32
Cambridge Semantic Web Meetup May 14 th 2013 1 Open Annotation Community Group http://www.w3.org/community/ openannotation/ Open Annotation Data Model: Specifiers and Specific Resources Paolo Ciccarese [email protected] Harvard Medical School @paolociccarese Robert Sanderson [email protected] Los Alamos National Laboratory @azaroth42 (Community Group Co-Chairs) Massachusetts General Hospital

Open Annotation, Specifiers and Specific Resources tutorial

Embed Size (px)

DESCRIPTION

2nd part of the west coast Open Annotation rollout: - Open Annotation Core Model http://www.slideshare.net/azaroth42/open-annotation-core-data-model-tutorial

Citation preview

Page 1: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 1Open Annotation Community Group

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

Open Annotation Data Model:Specifiers and Specific Resources

Paolo Ciccarese [email protected] Harvard Medical School @paolociccarese

Robert Sanderson [email protected] Los Alamos National Laboratory @azaroth42

(Community Group Co-Chairs)

Massachusetts General Hospital

Page 2: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 2Open Annotation Community Group

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

Specifiers and 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

Page 3: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 3Open Annotation Community Group

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

Core Data Model

Annotation: The conceptual linkage between body and targetBody: The comment or resource which is “about” the TargetTarget: The resource which is being discussed

Page 4: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 4Open 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” resourceSource: The resource as identified by its URI

Page 5: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 5Open Annotation Community Group

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

Specific Resources

Page 6: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 6Open Annotation Community Group

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

Specific Resources also for the Body

Page 7: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 7Open Annotation Community Group

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

Specific Resources also for the Body

Page 8: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 8Open 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

Page 9: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 9Open 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 selectorsCommunities may also define their own

Page 10: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 10Open Annotation Community Group

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

Specifiers: Selectors

Page 11: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 11Open Annotation Community Group

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

Specifiers: Selectors

Page 12: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 12Open 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

Page 13: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 13Open Annotation Community Group

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

Core Data Model: Fragment URIs

Page 14: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 14Open 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

Page 15: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 15Open Annotation Community Group

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

Specifiers: Fragment Selector

Page 16: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 16Open Annotation Community Group

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

Specifiers: Fragment Selector

Page 17: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 17Open 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.

Page 18: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 18Open Annotation Community Group

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

Specifiers: SVG Selector

Note that the client downloads the SVG resource in this case

Page 19: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 19Open 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

Page 20: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 20Open Annotation Community Group

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

Specifiers: Text Quote Selector

Page 21: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 21Open Annotation Community Group

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

Specifiers: Text Quote Selector

Page 22: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 22Open Annotation Community Group

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

Specifiers: Text Position Selector

Page 23: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 23Open Annotation Community Group

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

Specifiers: Text Position Selector

Page 24: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 24Open 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)

Page 25: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 25Open Annotation Community Group

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

Specifiers: Time State

Page 26: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 26Open Annotation Community Group

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

Specifiers: Time State

Page 27: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 27Open Annotation Community Group

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

Specifiers: HTTP Request State

Page 28: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 28Open Annotation Community Group

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

Specifiers: HTTP Request State

Page 29: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 29Open 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

Page 30: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 30Open Annotation Community Group

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

Specifiers: CSS Style

Page 31: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 31Open 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

Page 32: Open Annotation, Specifiers and Specific Resources tutorial

Cambridge Semantic Web MeetupMay 14th 2013 32Open Annotation Community Group

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

Specifiers: Scope