AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
Annotations as Linked Data with Fedora4 and Triannon
1. STANFORD UNIVERSITY LIBRARIES
Annotations as Linked Data
with Fedora4 and Triannon
(A Real Use Case for RDF!)
C O D E 4 L I B 2015
PO R T L A N D , OR
FE B R U A R Y 11
Rob Sanderson / azaroth@stanford.edu / @azaroth42
Naomi Dushay / ndushay@stanford.edu
2. STANFORD UNIVERSITY LIBRARIES
Annotations as Linked Data
with Fedora4 and Triannon
(A Real Use Case for RDF!)
C O D E 4 L I B 2015
PO R T L A N D , OR
FE B R U A R Y 11
Rob Sanderson / azaroth@stanford.edu / @azaroth42
Naomi Dushay / ndushay@stanford.edu
12. Triannon:
Putting the Dragons Back in Portland
since sometime last week
Requirements:
• Create and manage tags/annotations in any client or environment
• Retrieve tags/annotations to display in any client
• With the identifiers of Works, not of catalog views
Need:
• A model for annotations
• A format to serialize them into
• A protocol to transfer the serializations between systems
• Implementations!
13. JSON Annotation Format
{!
"@context": "http://www.w3.org/ns/oa-context-20130208.json",!
"@id": "http://www.example.org/annotations/1",!
"@type": "oa:Annotation”,!
"motivatedBy":"oa:commenting",!
"hasBody": {!
"@type": "cnt:ContentAsText",!
"chars": "Portland is somewhere here. Also Dragons",!
"format": "text/plain"!
},!
"hasTarget": "http://purl.stanford.edu/bd136jk4522#xywh=..."!
} !
14. JSON-LD Annotation Format
{!
"@context": "http://www.w3.org/ns/oa-context-20130208.json",!
"@id": "http://www.example.org/annotations/1",!
"@type": "oa:Annotation”,!
"motivatedBy":"oa:commenting",!
"hasBody": {!
"@type": "cnt:ContentAsText",!
"chars": "Portland is somewhere here. Also Dragons",!
"format": "text/plain"!
},!
"hasTarget": "http://purl.stanford.edu/bd136jk4522#xywh=..."!
} !
20. In Reality ...
• Multiple resources to manage, each requires a POST
• Binary or external resources with descriptions tricky
• Multiple JSON-LD contexts complex (IIIF, OA, ...)
Want:
• Ease of use/implementation for annotation client
• Ability to swap back-end to other LDP system
• Integration with Rails environment
• Search with Solr (easy) not SPARQL (less easy)