robert sanderson – [email protected] [email protected] herbert van de sompel –...
TRANSCRIPT
Robert Sanderson – [email protected] [email protected] Van de Sompel – [email protected] [email protected]
Digital Library Research and Prototyping TeamLos Alamos National Laboratory, USA
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
<http://www.openannotation.org/>
This research was funded by the Andrew W. Mellon Foundation. Acknowledgements: Tim Cole, Bernhard Haslhofer, Jane Hunter, Ray Larson, Cliff Lynch, Michael Nelson, Doug Reside
Overview
• The Collaboration and Project
• Interoperability:• Status • Basic Principles • Current Data Model• Protocol-less Approach• Demo
• Summary
Slide: 2Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
The Collaboration
• Los Alamos National Labs (Data Modeling and Interoperability)• Herbert Van de Sompel (PI)• Robert Sanderson
• University of Illinois at Urbana-Champaign• Tim Cole (PI)• Allen Renear• Carole Palmer• Tom Habing
• University of Queensland• Jane Hunter (PI)• Anna Gerber• Ron Chernich
• University of Maryland• Neil Fraistat (PI)• Douglas Reside
• George Mason University• Dan Cohen• Sean Takats
Slide: 3Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
The Project
• Aims• Facilitate a Web-centric interoperable annotation environment• Demonstrate the proposed environment for scholarly use-cases• Seed adoption by deployment of high-visibility production systems
• Phase I• Exploration of Existing Systems, Requirements and Use Case analysis• Initial Interoperability Specification• Integration of AXE and Zotero
• Mellon Foundation Funded• Alerted to possibility through JSTOR (unfunded partner) • 14 Months for Phase I• Hope to proceed to Phases II and III
Slide: 4Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Advisory Board
• Members• Maristella Agosti (University of Padua)• Geoffrey Bilder (CrossRef)• John Bradley (King's College London)• Gregory Crane (Tufts University)• Paul Eggert (Australian Scholarly Editions Centre)• Julia Flanders (Brown University)• Cliff Lynch (Chair) (Coalition for Networked Information)• Cathy Marshall (Microsoft Research)• Martin Mueller (Northwestern University)• Geoffrey Rockwell (University of Alberta)• David Ruddy (Cornell University Library)• Joyce Rudinsky (University of North Carolina, Chapel Hill)• Mackenzie Smith (MIT Libraries)• Amanda Ward (Nature Publishing Group)• John Wilbanks (Science Commons)
Slide: 5Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Technical Group
• Open List• Anyone can join and discuss• Discussions visible, not behind closed doors committee • http://groups.google.com/group/oac-tech
• Current Members:• Bruce D'Arcus (University of Ohio)• Anna Gerber (University of Queensland)• Tom Habing (UIUC)• Bernhard Haslhofer (University of Vienna)• Michael Nelson (Old Dominion University)• Rob Sanderson (LANL)• Ed Summers (Library of Congress)• Herbert Van de Sompel (LANL)
• Please join, or have your techie join!
Slide: 6Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Interoperability: Status
• Requirements and Use Cases• Gathered from scholars, mainly humanities• Gathered from scholarly literature
• Initial Design• First part of Phase I, Thread I (LANL)• Discussed in f2f at UC Berkeley (Collaborators plus invited experts)
• Feedback• Difficulty of defining what an 'annotation' actually is • Model too generic!• Risk of Everything being an Annotation
• Reaction• We (Rob and Herbert) tend to agree
We Want Your Feedback!
Slide: 7Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Interoperability: Basic Principles
• Effort focuses on Interoperability to allow annotation sharing• This is what we were funded to do!• Many MANY non-interoperable annotation systems already• Existing interoperability mechanisms (eg Annotea) need updating
• Interoperability approach is based on the Architecture of the Web• Communication is increasingly online• Resources of interest are increasingly online• Maximize chance of adoption by not being domain-centric• Semantic Web principles and Linked Data guidelines important
• Entities within the model must be identified by HTTP URIs• … when possible• From Linked Data guidelines• Globally unique identifiers without central system overhead• Locator as well as Identifier: can retrieve representation
Slide: 8Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Current Data Model
• Alpha Data Model
• Not set in stone, please provide feedback!
• Not published as a specification, just guidelines and 'current thinking'• Implemented as demonstrator, not production system• Informed by previous work and expert contributions• 4th internal iteration of model
• Guided by Requirements and Use Cases• Will build up in steps with appropriate justification• Conflicting requirements possible (e.g. simple yet powerful and flexible)• Helps to ensure adoption and understanding by minimizing unnecessary or unused features• Keeps specification authors in touch with real users and needs
Slide: 9Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Data Model: Step 1
Requirement: Users must be able to create an annotation with some content about a target resource
Principle:An annotation is an event at a moment in time, initiated by an agent, with a source of content and a target. There is an implicit or explicit relationship between the source and target expressed by the annotation.
Slide: 10
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Step 1: Baseline Model
The intuitive model is that we have a Source of Content (S-1), which annotates a Target resource (T-1). We add an Annotation node (A-1) that represents the annotation event.
The Source of Content must have some relationship to the Target. By default, it should be somehow 'about' the Target for it to be considered an Annotation.
Slide: 11
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Step 1: Baseline Model
As entities in the baseline model, both Content and Target are resources on the web.Thus they can be of any type, format, language (or not language at all), location, …
Slide: 12
http://www.youtube.com/watch?v=fgg2tpUVbXQ http://commons.wikimedia.org/wiki/File:Hubble_ultra_deep_field.jpg
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Step 1b: Properties and Relationships
Properties and relationships can now be attached to the Annotation.
This diagram shows the other information from the initial use case: who created the annotation (U-1), when they created it (datetime) and the relationship (called a predicate, P-1) between Content and Target.
Diagram Style Note:• Entities are circles• Values are ovals with data type• Relationships/Properties are named lines
Slide: 13
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Step 1b: Properties and Relationships
Slide: 14
2009-12-03 09:30:00
http://public.lanl.gov/
rsanderson
http://public.lanl.gov/
rsanderson
oac:annotatesoac:annotates
oac:annotates
oac:annotates
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Step 1b: Properties and Relationships
Slide: 15
2009-12-03 12:06:00
http://public.lanl.gov/
rsanderson
http://public.lanl.gov/
rsanderson
oac:annotatesoac:annotates
oac:annotates
oac:annotates
http://twitter.com/azaroth42/status/6312196800
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Data Model: Step 2
Slide: 16
Requirement:
The model must support systems which only support a user-entered string as the content of the annotation.
Principle:
Annotations must allow for content and target of any media type and format.
Fab4 Client: http://bodoni.lib.liv.ac.uk/fab4/(Extensive functionality, but only string content)
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Step 2: String Content
Slide: 17
To allow for this common case, we can assign a unique non resolvable URI called a URN. This is an exception to the HTTP URIs for everything principle.(We will come back to this later)
The text is captured in the oac:body property.
We define a Note class which can be used with either a protocol or non protocol URI, as a hint to the client to not bother dereferencing the URI and instead look in oac:body.
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Step 2: String Content
Slide: 18
"The Hubble Deep Field image is very
impressive!"
"The Hubble Deep Field image is very
impressive!"
urn:uuid:1234-567…urn:uuid:1234-567…
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Data Model: Step 3
Slide: 19
Requirement:
The model must enable the user to select a part of the resource as the target for their annotation, not just the entire resource.
Flickr: http://www.flickr.com/photos/raindog/75675947/Pliny Client: http://pliny.cch.kcl.ac.uk/
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Step 3: Segments of Resources
W3C Media Fragment URIs allow us to create a URI that identifies a segment of a resource for common cases.
e.g: http://…/foo.jpg#xywh=160,120,320,240
… identifies a 320 by 240 box, at 160,120in the image foo.jpg
Slide: 20
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Step 3: Segments of Resources
Slide: 21
http://commons.wikimedia.org/wiki/File:Hubble_ultra_deep_field.jpg
http://commons.wikimedia.org/wiki/File:Hubble_ultra_deep_field.jpg#xywh=400,80,100,100
http://twitter.com/azaroth42/status/6312261983
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Data Model: Step 4
Requirement:It is important to be able to express non-rectangular regions of a resource for situations where a rectangle cannot unambiguously delineate the region of interest.
Slide: 22
http://dme.arcs.ac.at/image-annotation-frontend/
Principle:Content and Target must be able to be arbitrary parts or segments of a resource.
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Step 4: Complex Segments
In this case, we use a Context node (C-1) with a Segment Description (SD-1). This can be of any format, and will be dependent on the properties of the Target.
A description for a segment of an image might be an SVG path, an XPath for XML, a speaker in an audio track.
Work exists on this topic for common cases, such as in MPEG-7.
Segments of complex objects such as databases, datasets, or other non-traditional media will require more research.
Slide: 23
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Step 4: Complex Segments
Slide: 24
http://twitter.com/azaroth42/status/6312304007
SVGSVG
http://annotation.lanl.gov/docs/0.1/examples/4.svg
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Data Model: Step 5
Slide: 25
Requirement:The annotation should be able to have more than one target resource or segment, when the annotation concerns multiple resources or creates a relationship between resources.
Principle:The model must support multiple contents and targets of annotation.
Pseudo multiple targets in Adobe Acrobat
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Step 5: Number of Targets
This is modeled in a very predictable way.
Note that the relationship from the Content applies to all of the Targets.
Slide: 26
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Step 5: Number of Targets
Slide: 27
oac:annotatesoac:annotates
oac:annotates
oac:annotates
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Step 5b: Number of Content Sources
Slide: 28
Use Cases:
• Same comment expressed in different formats (txt, MathML)
• Same comment expressed in different media (txt, mp3)
• Same comment later translated to different language, format, media, locations
Although somewhat exotic, multiple content sources also can be modeled.
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Step 5b: Number of Content Sources
Slide: 29
MP3MP3
oac:annotatesoac:annotates
oac:annotates
oac:annotates
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Data Model: Step 6
Slide: 30
Requirement:The annotation should be robust across time with respect to changing resources, such that the annotation is applied correctly to the version of the resource which was originally annotated. This will prevent misinterpretation of the annotation and take steps towards the digital preservation of the resources involved as well as the annotation.
Please also come to hear about Memento tomorrow morning!
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Step 6: Robust Annotations in Time
Slide: 31
http://twitter.com/azaroth42/status/6314856966
http://news.bbc.co.uk/
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Step 6: Robust Annotations in Time
Slide: 32
Solution 1:
The created timestamp for the Annotation should be used as the date/time of the version of the content and target resources. Unless the version is specified explicitly.
But what about "Sad story yesterday …" sort of annotations?
2009-12-01 12:00:00
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Step 6: Robust Annotations in Time
Slide: 33
Solution 2:The Context node can record the timestamp of when the annotation applies to the target, if not at the creation time of the annotation. Storing other information such as digests is also possible.
Solution 3:Annotate an appropriate archived copy of the resource (e.g. in Internet Archive), and relate it back to the original to enable appropriate discovery and rendering.
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Data Model: Step 7
Slide: 34
Requirement:A description of the annotation must be made available for dissemination in an interoperable method, following the Web Architecture and Linked Data guidelines.
http://code.google.com/apis/sidewiki/docs/2.0/developers_guide_protocol.html http://www.w3.org/2001/Annotea/User/Protocol.html
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Step 7: Annotation "Transcription"
Slide: 35
We follow the same conventions as Linked Data (and OAI-ORE) and introduce a 'transcription' of the annotation as a resource on the web. This can be retrieved using HTTP and includes all of the data and metadata concerning the annotation and other objects in the model.
http://annotation.lanl.gov/docs/0.1/examples/7.rdf
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Alpha Data Model
Slide: 36
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Background for Data Model
Slide: 37
Background Research:• Annotea• LEMO• DiLAS• Fab4• Pliny• Google SideWiki• Flickr Annotations• Richard Newman's Tag Model
• … plus 3 extensions• Common Tag Model• Henry Story's Tag Model• Many online web annotation systems
We believe that our data model covers everything that we have seen as well as the requirements and use cases expressed.
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Protocol-less Approach
Slide: 38
Existing systems are tightly coupled: • The client sends the annotation to the server to store• The server sends the annotation to clients on request
Annotea is a REST protocol, Google Sidewiki uses ATOM plus extensions, most are proprietary.
We believe this is a hindrance to interoperability … any protocol that ties servers and clients together is a hindrance to interoperability from the Linked Data perspective.
We recommend no protocol, as opposed to not recommending a protocol.
. . o O (This from key players in OAI-PMH and SRU… have they totally lost it??)
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Protocol-less Approach
Slide: 39
Existing systems are tightly coupled: • The client sends the annotation to the server to store• The server sends the annotation to clients on request
Annotea is a REST protocol, Google Sidewiki uses ATOM plus extensions, most are proprietary.
We believe this is a hindrance to interoperability … any protocol that ties servers and clients together is a hindrance to interoperability from the Linked Data perspective.
We recommend no protocol, as opposed to not recommending a protocol.
GoogleSideWikiGoogle
SideWiki
GoogleInterfaceGoogle
Interface
GoogleProtocolGoogle
Protocol
GoogleInterfaceGoogle
InterfaceGoogle
InterfaceGoogle
Interface
GoogleProtocolGoogle
Protocol
GoogleProtocolGoogle
Protocol
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Protocol-less Approach
Slide: 40
Existing systems are tightly coupled: • The client sends the annotation to the server to store• The server sends the annotation to clients on request
Annotea is a REST protocol, Google Sidewiki uses ATOM plus extensions, most are proprietary.
We believe this is a hindrance to interoperability … any protocol that ties servers and clients together is a hindrance to interoperability from the Linked Data perspective.
We recommend no protocol, as opposed to not recommending a protocol.
GoogleSideWikiGoogle
SideWiki
GoogleInterfaceGoogle
Interface
GoogleProtocolGoogle
Protocol
GoogleInterfaceGoogle
InterfaceGoogle
InterfaceGoogle
Interface
GoogleProtocolGoogle
Protocol
GoogleProtocolGoogle
Protocol
GoogleChromeGoogleChrome
GoogleDroid
GoogleDroid
GoogleDNS
GoogleDNS
GoogleHTTPSGoogleHTTPSGoogle
ChromiumOS
GoogleChromium
OS
GoogleDocs
GoogleDocs
GoogleWave
GoogleWave
GoogleMail
GoogleMail
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Protocol-less Approach
Slide: 41
Breaking This Apart Promotes Interoperability:
• The client sends the annotation somewhere to store (or multiple places)
• The server retrieves the annotation• … using regular discovery/harvesting techniques (Pull)• … on demand from the client (Pull on demand)• … by being one of the places the client sends the annotation to (Push)
• The server is just one service that can send the annotation to clients on request
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Protocol-less Approach
Slide: 42
Breaking This Apart Promotes Interoperability:
• The client sends the annotation somewhere to store (or multiple places)
• The server retrieves the annotation• … using regular discovery/harvesting techniques (Pull)• … on demand from the client (Pull on demand)• … by being one of the places the client sends the annotation to (Push)
• The server is just one service that can send the annotation to clients on request
Blog Twitter
Web Server
Blog Twitter
Web Server
HarvesterHarvester HarvesterHarvester
Preferred
Interface
Preferred
Interface
Preferred
Interface
Preferred
Interface
Preferred
Interface
Preferred
Interface
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Protocol-less Approach
Slide: 43
Consequences:• Multiple servers, aggregators or other applications can access the annotation• The client can use whatever protocol is needed by the storage server(s)• Annotations are regular web resources by necessity• Access control is just like any other access control on the web
• Services can be used to extend information in annotation• Add extra information for robustness over time• Add extra information for robustness of segment location• Text Mining, Data Mining services• Graph/Relationship Mining across other annotations• …
• Servers can replace URNs with real URIs• Multiple servers can do this, and will deduplicate with original identifier• Use well known owl:sameAs predicate for this
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Demonstration!
Slide: 44
Let's See This Working!
(Or at least a screen capture of it working, given the poor network here)
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Demonstration!
Slide: 45
Let's See This Working!
(Or at least a screen capture of it working, given the poor network here)
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Summary
Slide: 46
Collaboration:• Up and working
Data Model:• Alpha version ready for feedback:• Not a specification document• Covers use cases, requirements and previous work• Based on Linked Data and the Web Architecture• Protocol-less interactions between distributed servers and clients
Interoperable AnnotationRob Sanderson, Herbert Van de Sompel
CNI Fall Task Force Meeting, Dec 14-15, Washington DC
Thank You
Slide: 47
Thank You!
Questions?
Pointers:• http://www.openannotation.org/
• http://groups.google.com/group/oac-tech• [email protected] ; [email protected]
• This presentation being videoed, will be posted on CNI website • http://www.slideshare.com/azaroth42/oac-presentation-at-cni-09-fall-forum• http://www.youtube.com/watch?v=n_7rgsQHuHA