SlideShare a Scribd company logo
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
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
Where are the Dragons?
:(
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!
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=..."!
} !
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=..."!
} !
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=..."!
} !
Dirty not-so-secret time...
RDF 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=..."!
} !
It's actually RDF, following the Open Annotation model
Open Annotation
http://www.openannotation.org/spec/core/
http://www.w3.org/TR/annotation-model/ (beta)
Annotation Management: LDP
Reality is More Complex
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)
Triannon
Triannon plus Solr
Triannon: Implementation Goals
•  Rapid Development
•  Modular
•  Re-Usable
•  Deployable
•  Maintainable
Triannon: Rails Engine Gem
REST over HTTP
Create POST jsonld, turtle, rdfxml
Read GET "
Update PUT/PATCH "
Delete DELETE (id)
Model ActiveRecord ActiveModel LDP
View (for apps and developers) jsonld, turtle, rdfxml
Controller
http://github.com/sul-dlss/triannon
It’s the Graph, Baby!
Rails App (SearchWorks)
ActiveTriples
ld4l-open_annotation_rdf
triple store
(in memory)
RDF
SearchWorks: Create, Update, Delete
Triannon
id
html
form
jsonld from
RDF::Graph
Client App: Search and Display
Triannon SolrClient App
http://triannon-solr/by_target?url=purl.stanford.edu/bd136jk4522
'response'=>{'numFound'=>3,'start'=>0,'maxScore'=>1.0,'docs'=>[
{
'id'=>'98206ec8-4def-44b8-b190-648d8224ce1c’,
'anno_jsonld'=>'{"@context":"http://www.w3.org/ns/oa.jsonld","@graph":
[{"@id":"_:g70038924372700","@type":["dctypes:Text","cnt:ContentAsText"], "format":"text/plain”,
"chars":"Portland is somewhere here. Also Dragons”},{"@id":"https://
triannon-dev.stanford.edu/annotations/98206ec8-4def-44b8-
b190-648d8224ce1c","@type":"oa:Annotation","hasBody":"_:g70038924372700","hasTarget":"http://
purl.stanford.edu/bd136jk4522","motivatedBy":"oa:commenting"}]}',
...},
{
'id'=>'f691b921-6f54-415b-9dfb-0d017f0d8ada',
...
Rails App (SearchWorks)
ActiveTriples
ld4l-open_annotation_rdf
triple store
(in memory)
RDF
SearchWorks: Read and Display
•  Easy Access to Relevant Info from jsonld
•  Rapid Development
•  Modular
•  Maintainable
Triannon Solr
jsonld as
RDF::Graph
Search for
annos
LDP API
Fedora 4Solr
CRUD
Search /
Read
CRUDCUD
Client
Application
Client
Application
Client Application
Triannon
STANFORD UNIVERSITY LIBRARIES
Thank You!
February 11th, 2015
azaroth@stanford.edu
ndushay@stanford.edu

More Related Content

What's hot

Introduction to RDF
Introduction to RDFIntroduction to RDF
Introduction to RDF
Dr Sukhpal Singh Gill
 
Developing Linked Data and Semantic Web-based Applications (Expotec 2015)
Developing Linked Data and Semantic Web-based Applications (Expotec 2015)Developing Linked Data and Semantic Web-based Applications (Expotec 2015)
Developing Linked Data and Semantic Web-based Applications (Expotec 2015)
Ig Bittencourt
 
New member webinar 052418
New member webinar 052418New member webinar 052418
New member webinar 052418
Crossref
 
The Semantic Web #10 - SPARQL
The Semantic Web #10 - SPARQLThe Semantic Web #10 - SPARQL
The Semantic Web #10 - SPARQL
Myungjin Lee
 
Todd davis facebook sourcing
Todd davis facebook sourcingTodd davis facebook sourcing
Todd davis facebook sourcing
Talent42
 
Dublin Core In Practice
Dublin Core In PracticeDublin Core In Practice
Dublin Core In Practice
Marcia Zeng
 
Federated Query Formulation and Processing through BioFed
Federated Query Formulation and Processing through BioFedFederated Query Formulation and Processing through BioFed
Federated Query Formulation and Processing through BioFed
Syed Muhammad Ali Hasnain
 
A Semantic Data Model for Web Applications
A Semantic Data Model for Web ApplicationsA Semantic Data Model for Web Applications
A Semantic Data Model for Web Applications
Armin Haller
 
DLF 2015 Presentation, "RDF in the Real World."
DLF 2015 Presentation, "RDF in the Real World." DLF 2015 Presentation, "RDF in the Real World."
DLF 2015 Presentation, "RDF in the Real World."
Avalon Media System
 
Fedora Migration Considerations
Fedora Migration ConsiderationsFedora Migration Considerations
Fedora Migration Considerations
Avalon Media System
 
Re-using Media on the Web: Media fragment re-mixing and playout
Re-using Media on the Web: Media fragment re-mixing and playoutRe-using Media on the Web: Media fragment re-mixing and playout
Re-using Media on the Web: Media fragment re-mixing and playout
MediaMixerCommunity
 
Usage of Linked Data: Introduction and Application Scenarios
Usage of Linked Data: Introduction and Application ScenariosUsage of Linked Data: Introduction and Application Scenarios
Usage of Linked Data: Introduction and Application Scenarios
EUCLID project
 
RDFa Tutorial
RDFa TutorialRDFa Tutorial
RDFa Tutorial
Ivan Herman
 
Matt Grove - Sourcing Round Table - Talent42 2015
Matt Grove - Sourcing Round Table - Talent42 2015Matt Grove - Sourcing Round Table - Talent42 2015
Matt Grove - Sourcing Round Table - Talent42 2015
Talent42
 
Linked Data Tutorial
Linked Data TutorialLinked Data Tutorial
Linked Data Tutorial
Sören Auer
 
Crossref XML and tools for small publishers (EASE Conference 2018)
Crossref XML and tools for small publishers (EASE Conference 2018)Crossref XML and tools for small publishers (EASE Conference 2018)
Crossref XML and tools for small publishers (EASE Conference 2018)
Crossref
 
Get on the Linked Data Web!
Get on the Linked Data Web!Get on the Linked Data Web!
Get on the Linked Data Web!
Armin Haller
 
Linked Data for Czech Legislation
Linked Data for Czech LegislationLinked Data for Czech Legislation
Linked Data for Czech Legislation
Martin Necasky
 
Semantic Web
Semantic WebSemantic Web
Semantic Web
hardchiu
 
Saveface - Save your Facebook content as RDF data
Saveface - Save your Facebook content as RDF dataSaveface - Save your Facebook content as RDF data
Saveface - Save your Facebook content as RDF data
Fuming Shih
 

What's hot (20)

Introduction to RDF
Introduction to RDFIntroduction to RDF
Introduction to RDF
 
Developing Linked Data and Semantic Web-based Applications (Expotec 2015)
Developing Linked Data and Semantic Web-based Applications (Expotec 2015)Developing Linked Data and Semantic Web-based Applications (Expotec 2015)
Developing Linked Data and Semantic Web-based Applications (Expotec 2015)
 
New member webinar 052418
New member webinar 052418New member webinar 052418
New member webinar 052418
 
The Semantic Web #10 - SPARQL
The Semantic Web #10 - SPARQLThe Semantic Web #10 - SPARQL
The Semantic Web #10 - SPARQL
 
Todd davis facebook sourcing
Todd davis facebook sourcingTodd davis facebook sourcing
Todd davis facebook sourcing
 
Dublin Core In Practice
Dublin Core In PracticeDublin Core In Practice
Dublin Core In Practice
 
Federated Query Formulation and Processing through BioFed
Federated Query Formulation and Processing through BioFedFederated Query Formulation and Processing through BioFed
Federated Query Formulation and Processing through BioFed
 
A Semantic Data Model for Web Applications
A Semantic Data Model for Web ApplicationsA Semantic Data Model for Web Applications
A Semantic Data Model for Web Applications
 
DLF 2015 Presentation, "RDF in the Real World."
DLF 2015 Presentation, "RDF in the Real World." DLF 2015 Presentation, "RDF in the Real World."
DLF 2015 Presentation, "RDF in the Real World."
 
Fedora Migration Considerations
Fedora Migration ConsiderationsFedora Migration Considerations
Fedora Migration Considerations
 
Re-using Media on the Web: Media fragment re-mixing and playout
Re-using Media on the Web: Media fragment re-mixing and playoutRe-using Media on the Web: Media fragment re-mixing and playout
Re-using Media on the Web: Media fragment re-mixing and playout
 
Usage of Linked Data: Introduction and Application Scenarios
Usage of Linked Data: Introduction and Application ScenariosUsage of Linked Data: Introduction and Application Scenarios
Usage of Linked Data: Introduction and Application Scenarios
 
RDFa Tutorial
RDFa TutorialRDFa Tutorial
RDFa Tutorial
 
Matt Grove - Sourcing Round Table - Talent42 2015
Matt Grove - Sourcing Round Table - Talent42 2015Matt Grove - Sourcing Round Table - Talent42 2015
Matt Grove - Sourcing Round Table - Talent42 2015
 
Linked Data Tutorial
Linked Data TutorialLinked Data Tutorial
Linked Data Tutorial
 
Crossref XML and tools for small publishers (EASE Conference 2018)
Crossref XML and tools for small publishers (EASE Conference 2018)Crossref XML and tools for small publishers (EASE Conference 2018)
Crossref XML and tools for small publishers (EASE Conference 2018)
 
Get on the Linked Data Web!
Get on the Linked Data Web!Get on the Linked Data Web!
Get on the Linked Data Web!
 
Linked Data for Czech Legislation
Linked Data for Czech LegislationLinked Data for Czech Legislation
Linked Data for Czech Legislation
 
Semantic Web
Semantic WebSemantic Web
Semantic Web
 
Saveface - Save your Facebook content as RDF data
Saveface - Save your Facebook content as RDF dataSaveface - Save your Facebook content as RDF data
Saveface - Save your Facebook content as RDF data
 

Viewers also liked

IIIF: The Advantages of APIs
IIIF: The Advantages of APIsIIIF: The Advantages of APIs
IIIF: The Advantages of APIs
Robert Sanderson
 
IIIF: Discovery of Resources
IIIF: Discovery of ResourcesIIIF: Discovery of Resources
IIIF: Discovery of Resources
Robert Sanderson
 
Introduction to IIIF
Introduction to IIIFIntroduction to IIIF
Introduction to IIIF
Robert Sanderson
 
Linked Data Best Practices and BibFrame
Linked Data Best Practices and BibFrameLinked Data Best Practices and BibFrame
Linked Data Best Practices and BibFrame
Robert Sanderson
 
Brief Introduction to Linked Data
Brief Introduction to Linked DataBrief Introduction to Linked Data
Brief Introduction to Linked Data
Robert Sanderson
 
W3C Web Annotation WG Update (I Annotate 2016)
W3C Web Annotation WG Update (I Annotate 2016)W3C Web Annotation WG Update (I Annotate 2016)
W3C Web Annotation WG Update (I Annotate 2016)
Robert Sanderson
 
IIIF Overview for Linked Data Exhibitions
IIIF Overview for Linked Data ExhibitionsIIIF Overview for Linked Data Exhibitions
IIIF Overview for Linked Data Exhibitions
Robert Sanderson
 
Community Challenges for Practical Linked Open Data - Linked Pasts keynote
Community Challenges for Practical Linked Open Data - Linked Pasts keynoteCommunity Challenges for Practical Linked Open Data - Linked Pasts keynote
Community Challenges for Practical Linked Open Data - Linked Pasts keynote
Robert Sanderson
 
Poster RDAP13: A Workflow for Depositing to a Research Data Repository: A Cas...
Poster RDAP13: A Workflow for Depositing to a Research Data Repository: A Cas...Poster RDAP13: A Workflow for Depositing to a Research Data Repository: A Cas...
Poster RDAP13: A Workflow for Depositing to a Research Data Repository: A Cas...
ASIS&T
 
Open Repositories 2014: Crowdsourced Transcription via IIIF
Open Repositories 2014: Crowdsourced Transcription via IIIFOpen Repositories 2014: Crowdsourced Transcription via IIIF
Open Repositories 2014: Crowdsourced Transcription via IIIF
Robert Sanderson
 
IIIF: Shared Canvas 2.0
IIIF: Shared Canvas 2.0IIIF: Shared Canvas 2.0
IIIF: Shared Canvas 2.0
Robert Sanderson
 
IIIF and JSON-LD: LODLAM Training Day
IIIF and JSON-LD: LODLAM Training DayIIIF and JSON-LD: LODLAM Training Day
IIIF and JSON-LD: LODLAM Training Day
Robert Sanderson
 
Niso Annotation Webinar
Niso Annotation WebinarNiso Annotation Webinar
Niso Annotation Webinar
Robert Sanderson
 
Erika Pricyla Cerino HernáNdez
Erika Pricyla Cerino HernáNdezErika Pricyla Cerino HernáNdez
Erika Pricyla Cerino HernáNdezguest1cc234
 
SharedCanvas: A Collaborative Model for Medieval Manuscript Layout Dissemina...
SharedCanvas: A Collaborative Model for Medieval Manuscript Layout Dissemina...SharedCanvas: A Collaborative Model for Medieval Manuscript Layout Dissemina...
SharedCanvas: A Collaborative Model for Medieval Manuscript Layout Dissemina...
Robert Sanderson
 
Dit Heb Je Nog Nooit Gezien
Dit Heb Je Nog Nooit GezienDit Heb Je Nog Nooit Gezien
Dit Heb Je Nog Nooit Gezien
guest6964ce
 
Python Web Interaction
Python Web InteractionPython Web Interaction
Python Web Interaction
Robert Sanderson
 
NLLC 2011: Memento, Open Annotation, SharedCanvas
NLLC 2011: Memento, Open Annotation, SharedCanvasNLLC 2011: Memento, Open Annotation, SharedCanvas
NLLC 2011: Memento, Open Annotation, SharedCanvas
Robert Sanderson
 
W3C Open Annotation: Status and Use Cases
W3C Open Annotation: Status and Use CasesW3C Open Annotation: Status and Use Cases
W3C Open Annotation: Status and Use Cases
Robert Sanderson
 
IIIF Foundational Specifications
IIIF Foundational SpecificationsIIIF Foundational Specifications
IIIF Foundational Specifications
Robert Sanderson
 

Viewers also liked (20)

IIIF: The Advantages of APIs
IIIF: The Advantages of APIsIIIF: The Advantages of APIs
IIIF: The Advantages of APIs
 
IIIF: Discovery of Resources
IIIF: Discovery of ResourcesIIIF: Discovery of Resources
IIIF: Discovery of Resources
 
Introduction to IIIF
Introduction to IIIFIntroduction to IIIF
Introduction to IIIF
 
Linked Data Best Practices and BibFrame
Linked Data Best Practices and BibFrameLinked Data Best Practices and BibFrame
Linked Data Best Practices and BibFrame
 
Brief Introduction to Linked Data
Brief Introduction to Linked DataBrief Introduction to Linked Data
Brief Introduction to Linked Data
 
W3C Web Annotation WG Update (I Annotate 2016)
W3C Web Annotation WG Update (I Annotate 2016)W3C Web Annotation WG Update (I Annotate 2016)
W3C Web Annotation WG Update (I Annotate 2016)
 
IIIF Overview for Linked Data Exhibitions
IIIF Overview for Linked Data ExhibitionsIIIF Overview for Linked Data Exhibitions
IIIF Overview for Linked Data Exhibitions
 
Community Challenges for Practical Linked Open Data - Linked Pasts keynote
Community Challenges for Practical Linked Open Data - Linked Pasts keynoteCommunity Challenges for Practical Linked Open Data - Linked Pasts keynote
Community Challenges for Practical Linked Open Data - Linked Pasts keynote
 
Poster RDAP13: A Workflow for Depositing to a Research Data Repository: A Cas...
Poster RDAP13: A Workflow for Depositing to a Research Data Repository: A Cas...Poster RDAP13: A Workflow for Depositing to a Research Data Repository: A Cas...
Poster RDAP13: A Workflow for Depositing to a Research Data Repository: A Cas...
 
Open Repositories 2014: Crowdsourced Transcription via IIIF
Open Repositories 2014: Crowdsourced Transcription via IIIFOpen Repositories 2014: Crowdsourced Transcription via IIIF
Open Repositories 2014: Crowdsourced Transcription via IIIF
 
IIIF: Shared Canvas 2.0
IIIF: Shared Canvas 2.0IIIF: Shared Canvas 2.0
IIIF: Shared Canvas 2.0
 
IIIF and JSON-LD: LODLAM Training Day
IIIF and JSON-LD: LODLAM Training DayIIIF and JSON-LD: LODLAM Training Day
IIIF and JSON-LD: LODLAM Training Day
 
Niso Annotation Webinar
Niso Annotation WebinarNiso Annotation Webinar
Niso Annotation Webinar
 
Erika Pricyla Cerino HernáNdez
Erika Pricyla Cerino HernáNdezErika Pricyla Cerino HernáNdez
Erika Pricyla Cerino HernáNdez
 
SharedCanvas: A Collaborative Model for Medieval Manuscript Layout Dissemina...
SharedCanvas: A Collaborative Model for Medieval Manuscript Layout Dissemina...SharedCanvas: A Collaborative Model for Medieval Manuscript Layout Dissemina...
SharedCanvas: A Collaborative Model for Medieval Manuscript Layout Dissemina...
 
Dit Heb Je Nog Nooit Gezien
Dit Heb Je Nog Nooit GezienDit Heb Je Nog Nooit Gezien
Dit Heb Je Nog Nooit Gezien
 
Python Web Interaction
Python Web InteractionPython Web Interaction
Python Web Interaction
 
NLLC 2011: Memento, Open Annotation, SharedCanvas
NLLC 2011: Memento, Open Annotation, SharedCanvasNLLC 2011: Memento, Open Annotation, SharedCanvas
NLLC 2011: Memento, Open Annotation, SharedCanvas
 
W3C Open Annotation: Status and Use Cases
W3C Open Annotation: Status and Use CasesW3C Open Annotation: Status and Use Cases
W3C Open Annotation: Status and Use Cases
 
IIIF Foundational Specifications
IIIF Foundational SpecificationsIIIF Foundational Specifications
IIIF Foundational Specifications
 

Similar to Annotations as Linked Data with Fedora4 and Triannon

Linked Open Data
Linked Open DataLinked Open Data
Linked Open Data
Laura Hollink
 
Aall denver 2010
Aall denver 2010Aall denver 2010
Aall denver 2010
Diane Hillmann
 
Linked Open Data for Libraries
Linked Open Data for LibrariesLinked Open Data for Libraries
Linked Open Data for Libraries
Lukas Koster
 
2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
Josef Petrák
 
Ld4 l triannon
Ld4 l triannonLd4 l triannon
Ld4 l triannon
Naomi Dushay
 
Introduction to RDF Data Model
Introduction to RDF Data ModelIntroduction to RDF Data Model
Introduction to RDF Data Model
Cesar Augusto Nogueira
 
Semantic Web introduction
Semantic Web introductionSemantic Web introduction
Semantic Web introduction
Graphity
 
An introduction to Semantic Web and Linked Data
An introduction to Semantic  Web and Linked DataAn introduction to Semantic  Web and Linked Data
An introduction to Semantic Web and Linked Data
Gabriela Agustini
 
An introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked DataAn introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked Data
Gabriela Agustini
 
W3C Tutorial on Semantic Web and Linked Data at WWW 2013
W3C Tutorial on Semantic Web and Linked Data at WWW 2013W3C Tutorial on Semantic Web and Linked Data at WWW 2013
W3C Tutorial on Semantic Web and Linked Data at WWW 2013
Fabien Gandon
 
Creating Web APIs with JSON-LD and RDF
Creating Web APIs with JSON-LD and RDFCreating Web APIs with JSON-LD and RDF
Creating Web APIs with JSON-LD and RDF
donaldlsmithjr
 
Sem webmaubeuge
Sem webmaubeugeSem webmaubeuge
Sem webmaubeuge
Jose Emilio Labra Gayo
 
SemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n BoltsSemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n Bolts
Rinke Hoekstra
 
ontology.ppt
ontology.pptontology.ppt
ontology.ppt
Prerak10
 
Making Use of the Linked Open Data Services for OpenAIRE (DI4R 2016 tutorial ...
Making Use of the Linked Open Data Services for OpenAIRE (DI4R 2016 tutorial ...Making Use of the Linked Open Data Services for OpenAIRE (DI4R 2016 tutorial ...
Making Use of the Linked Open Data Services for OpenAIRE (DI4R 2016 tutorial ...
OpenAIRE
 
RDFa Introductory Course Session 2/4 How RDFa
RDFa Introductory Course Session 2/4 How RDFaRDFa Introductory Course Session 2/4 How RDFa
RDFa Introductory Course Session 2/4 How RDFa
Platypus
 
How RDFa works
How RDFa worksHow RDFa works
How RDFa works
JISC Netskills
 
Publishing data on the Semantic Web
Publishing data on the Semantic WebPublishing data on the Semantic Web
Publishing data on the Semantic Web
Peter Mika
 
Bio ontologies and semantic technologies
Bio ontologies and semantic technologiesBio ontologies and semantic technologies
Bio ontologies and semantic technologies
Prof. Wim Van Criekinge
 
Linked Open Data: A simple how-to
Linked Open Data: A simple how-toLinked Open Data: A simple how-to
Linked Open Data: A simple how-to
nvitucci
 

Similar to Annotations as Linked Data with Fedora4 and Triannon (20)

Linked Open Data
Linked Open DataLinked Open Data
Linked Open Data
 
Aall denver 2010
Aall denver 2010Aall denver 2010
Aall denver 2010
 
Linked Open Data for Libraries
Linked Open Data for LibrariesLinked Open Data for Libraries
Linked Open Data for Libraries
 
2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
 
Ld4 l triannon
Ld4 l triannonLd4 l triannon
Ld4 l triannon
 
Introduction to RDF Data Model
Introduction to RDF Data ModelIntroduction to RDF Data Model
Introduction to RDF Data Model
 
Semantic Web introduction
Semantic Web introductionSemantic Web introduction
Semantic Web introduction
 
An introduction to Semantic Web and Linked Data
An introduction to Semantic  Web and Linked DataAn introduction to Semantic  Web and Linked Data
An introduction to Semantic Web and Linked Data
 
An introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked DataAn introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked Data
 
W3C Tutorial on Semantic Web and Linked Data at WWW 2013
W3C Tutorial on Semantic Web and Linked Data at WWW 2013W3C Tutorial on Semantic Web and Linked Data at WWW 2013
W3C Tutorial on Semantic Web and Linked Data at WWW 2013
 
Creating Web APIs with JSON-LD and RDF
Creating Web APIs with JSON-LD and RDFCreating Web APIs with JSON-LD and RDF
Creating Web APIs with JSON-LD and RDF
 
Sem webmaubeuge
Sem webmaubeugeSem webmaubeuge
Sem webmaubeuge
 
SemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n BoltsSemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n Bolts
 
ontology.ppt
ontology.pptontology.ppt
ontology.ppt
 
Making Use of the Linked Open Data Services for OpenAIRE (DI4R 2016 tutorial ...
Making Use of the Linked Open Data Services for OpenAIRE (DI4R 2016 tutorial ...Making Use of the Linked Open Data Services for OpenAIRE (DI4R 2016 tutorial ...
Making Use of the Linked Open Data Services for OpenAIRE (DI4R 2016 tutorial ...
 
RDFa Introductory Course Session 2/4 How RDFa
RDFa Introductory Course Session 2/4 How RDFaRDFa Introductory Course Session 2/4 How RDFa
RDFa Introductory Course Session 2/4 How RDFa
 
How RDFa works
How RDFa worksHow RDFa works
How RDFa works
 
Publishing data on the Semantic Web
Publishing data on the Semantic WebPublishing data on the Semantic Web
Publishing data on the Semantic Web
 
Bio ontologies and semantic technologies
Bio ontologies and semantic technologiesBio ontologies and semantic technologies
Bio ontologies and semantic technologies
 
Linked Open Data: A simple how-to
Linked Open Data: A simple how-toLinked Open Data: A simple how-to
Linked Open Data: A simple how-to
 

More from Robert Sanderson

Understanding Linked Art
Understanding Linked ArtUnderstanding Linked Art
Understanding Linked Art
Robert Sanderson
 
LUX - Cross Collections Cultural Heritage at Yale
LUX - Cross Collections Cultural Heritage at YaleLUX - Cross Collections Cultural Heritage at Yale
LUX - Cross Collections Cultural Heritage at Yale
Robert Sanderson
 
Zoom as a Paradigm for Linked Open Usable Data
Zoom as a Paradigm for Linked Open Usable DataZoom as a Paradigm for Linked Open Usable Data
Zoom as a Paradigm for Linked Open Usable Data
Robert Sanderson
 
Provenance and Uncertainty in Linked Art
Provenance and Uncertainty in Linked ArtProvenance and Uncertainty in Linked Art
Provenance and Uncertainty in Linked Art
Robert Sanderson
 
Data is our Product: Thoughts on LOD Sustainability
Data is our Product: Thoughts on LOD SustainabilityData is our Product: Thoughts on LOD Sustainability
Data is our Product: Thoughts on LOD Sustainability
Robert Sanderson
 
A Perspective on Wikidata: Ecosystems, Trust, and Usability
A Perspective on Wikidata: Ecosystems, Trust, and UsabilityA Perspective on Wikidata: Ecosystems, Trust, and Usability
A Perspective on Wikidata: Ecosystems, Trust, and Usability
Robert Sanderson
 
Linked Art: Sustainable Cultural Knowledge through Linked Open Usable Data
Linked Art: Sustainable Cultural Knowledge through Linked Open Usable DataLinked Art: Sustainable Cultural Knowledge through Linked Open Usable Data
Linked Art: Sustainable Cultural Knowledge through Linked Open Usable Data
Robert Sanderson
 
Illusions of Grandeur: Trust and Belief in Cultural Heritage Linked Open Data
Illusions of Grandeur: Trust and Belief in Cultural Heritage Linked Open DataIllusions of Grandeur: Trust and Belief in Cultural Heritage Linked Open Data
Illusions of Grandeur: Trust and Belief in Cultural Heritage Linked Open Data
Robert Sanderson
 
Structural Metadata in RDF (IS575)
Structural Metadata in RDF (IS575)Structural Metadata in RDF (IS575)
Structural Metadata in RDF (IS575)
Robert Sanderson
 
Sanderson CNI 2020 Keynote - Cultural Heritage Research Data Ecosystem
Sanderson CNI 2020 Keynote - Cultural Heritage Research Data EcosystemSanderson CNI 2020 Keynote - Cultural Heritage Research Data Ecosystem
Sanderson CNI 2020 Keynote - Cultural Heritage Research Data Ecosystem
Robert Sanderson
 
Tiers of Abstraction and Audience in Cultural Heritage Data Modeling
Tiers of Abstraction and Audience in Cultural Heritage Data ModelingTiers of Abstraction and Audience in Cultural Heritage Data Modeling
Tiers of Abstraction and Audience in Cultural Heritage Data Modeling
Robert Sanderson
 
The Importance of being LOUD
The Importance of being LOUDThe Importance of being LOUD
The Importance of being LOUD
Robert Sanderson
 
Introduction to Linked Art Model
Introduction to Linked Art ModelIntroduction to Linked Art Model
Introduction to Linked Art Model
Robert Sanderson
 
Standards and Communities: Connected People, Consistent Data, Usable Applicat...
Standards and Communities: Connected People, Consistent Data, Usable Applicat...Standards and Communities: Connected People, Consistent Data, Usable Applicat...
Standards and Communities: Connected People, Consistent Data, Usable Applicat...
Robert Sanderson
 
Strong Opinions, Weakly Held
Strong Opinions, Weakly HeldStrong Opinions, Weakly Held
Strong Opinions, Weakly Held
Robert Sanderson
 
IIIF Discovery Walkthrough
IIIF Discovery WalkthroughIIIF Discovery Walkthrough
IIIF Discovery Walkthrough
Robert Sanderson
 
Linked Art: An Art Museum Profile for CIDOC-CRM
Linked Art: An Art Museum Profile for CIDOC-CRMLinked Art: An Art Museum Profile for CIDOC-CRM
Linked Art: An Art Museum Profile for CIDOC-CRM
Robert Sanderson
 
Euromed2018 Keynote: Usability over Completeness, Community over Committee
Euromed2018 Keynote: Usability over Completeness, Community over CommitteeEuromed2018 Keynote: Usability over Completeness, Community over Committee
Euromed2018 Keynote: Usability over Completeness, Community over Committee
Robert Sanderson
 
Linked Art - Our Linked Open Usable Data Model
Linked Art - Our Linked Open Usable Data ModelLinked Art - Our Linked Open Usable Data Model
Linked Art - Our Linked Open Usable Data Model
Robert Sanderson
 
EuropeanaTech Keynote: Shout it out LOUD
EuropeanaTech Keynote: Shout it out LOUDEuropeanaTech Keynote: Shout it out LOUD
EuropeanaTech Keynote: Shout it out LOUD
Robert Sanderson
 

More from Robert Sanderson (20)

Understanding Linked Art
Understanding Linked ArtUnderstanding Linked Art
Understanding Linked Art
 
LUX - Cross Collections Cultural Heritage at Yale
LUX - Cross Collections Cultural Heritage at YaleLUX - Cross Collections Cultural Heritage at Yale
LUX - Cross Collections Cultural Heritage at Yale
 
Zoom as a Paradigm for Linked Open Usable Data
Zoom as a Paradigm for Linked Open Usable DataZoom as a Paradigm for Linked Open Usable Data
Zoom as a Paradigm for Linked Open Usable Data
 
Provenance and Uncertainty in Linked Art
Provenance and Uncertainty in Linked ArtProvenance and Uncertainty in Linked Art
Provenance and Uncertainty in Linked Art
 
Data is our Product: Thoughts on LOD Sustainability
Data is our Product: Thoughts on LOD SustainabilityData is our Product: Thoughts on LOD Sustainability
Data is our Product: Thoughts on LOD Sustainability
 
A Perspective on Wikidata: Ecosystems, Trust, and Usability
A Perspective on Wikidata: Ecosystems, Trust, and UsabilityA Perspective on Wikidata: Ecosystems, Trust, and Usability
A Perspective on Wikidata: Ecosystems, Trust, and Usability
 
Linked Art: Sustainable Cultural Knowledge through Linked Open Usable Data
Linked Art: Sustainable Cultural Knowledge through Linked Open Usable DataLinked Art: Sustainable Cultural Knowledge through Linked Open Usable Data
Linked Art: Sustainable Cultural Knowledge through Linked Open Usable Data
 
Illusions of Grandeur: Trust and Belief in Cultural Heritage Linked Open Data
Illusions of Grandeur: Trust and Belief in Cultural Heritage Linked Open DataIllusions of Grandeur: Trust and Belief in Cultural Heritage Linked Open Data
Illusions of Grandeur: Trust and Belief in Cultural Heritage Linked Open Data
 
Structural Metadata in RDF (IS575)
Structural Metadata in RDF (IS575)Structural Metadata in RDF (IS575)
Structural Metadata in RDF (IS575)
 
Sanderson CNI 2020 Keynote - Cultural Heritage Research Data Ecosystem
Sanderson CNI 2020 Keynote - Cultural Heritage Research Data EcosystemSanderson CNI 2020 Keynote - Cultural Heritage Research Data Ecosystem
Sanderson CNI 2020 Keynote - Cultural Heritage Research Data Ecosystem
 
Tiers of Abstraction and Audience in Cultural Heritage Data Modeling
Tiers of Abstraction and Audience in Cultural Heritage Data ModelingTiers of Abstraction and Audience in Cultural Heritage Data Modeling
Tiers of Abstraction and Audience in Cultural Heritage Data Modeling
 
The Importance of being LOUD
The Importance of being LOUDThe Importance of being LOUD
The Importance of being LOUD
 
Introduction to Linked Art Model
Introduction to Linked Art ModelIntroduction to Linked Art Model
Introduction to Linked Art Model
 
Standards and Communities: Connected People, Consistent Data, Usable Applicat...
Standards and Communities: Connected People, Consistent Data, Usable Applicat...Standards and Communities: Connected People, Consistent Data, Usable Applicat...
Standards and Communities: Connected People, Consistent Data, Usable Applicat...
 
Strong Opinions, Weakly Held
Strong Opinions, Weakly HeldStrong Opinions, Weakly Held
Strong Opinions, Weakly Held
 
IIIF Discovery Walkthrough
IIIF Discovery WalkthroughIIIF Discovery Walkthrough
IIIF Discovery Walkthrough
 
Linked Art: An Art Museum Profile for CIDOC-CRM
Linked Art: An Art Museum Profile for CIDOC-CRMLinked Art: An Art Museum Profile for CIDOC-CRM
Linked Art: An Art Museum Profile for CIDOC-CRM
 
Euromed2018 Keynote: Usability over Completeness, Community over Committee
Euromed2018 Keynote: Usability over Completeness, Community over CommitteeEuromed2018 Keynote: Usability over Completeness, Community over Committee
Euromed2018 Keynote: Usability over Completeness, Community over Committee
 
Linked Art - Our Linked Open Usable Data Model
Linked Art - Our Linked Open Usable Data ModelLinked Art - Our Linked Open Usable Data Model
Linked Art - Our Linked Open Usable Data Model
 
EuropeanaTech Keynote: Shout it out LOUD
EuropeanaTech Keynote: Shout it out LOUDEuropeanaTech Keynote: Shout it out LOUD
EuropeanaTech Keynote: Shout it out LOUD
 

Recently uploaded

Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 

Recently uploaded (20)

Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 

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
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11. Where are the Dragons? :(
  • 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=..."! } !
  • 15. 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=..."! } ! Dirty not-so-secret time...
  • 16. RDF 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=..."! } ! It's actually RDF, following the Open Annotation model
  • 19. Reality is More Complex
  • 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)
  • 23. Triannon: Implementation Goals •  Rapid Development •  Modular •  Re-Usable •  Deployable •  Maintainable
  • 24. Triannon: Rails Engine Gem REST over HTTP Create POST jsonld, turtle, rdfxml Read GET " Update PUT/PATCH " Delete DELETE (id) Model ActiveRecord ActiveModel LDP View (for apps and developers) jsonld, turtle, rdfxml Controller http://github.com/sul-dlss/triannon
  • 25.
  • 27. Rails App (SearchWorks) ActiveTriples ld4l-open_annotation_rdf triple store (in memory) RDF SearchWorks: Create, Update, Delete Triannon id html form jsonld from RDF::Graph
  • 28. Client App: Search and Display Triannon SolrClient App http://triannon-solr/by_target?url=purl.stanford.edu/bd136jk4522 'response'=>{'numFound'=>3,'start'=>0,'maxScore'=>1.0,'docs'=>[ { 'id'=>'98206ec8-4def-44b8-b190-648d8224ce1c’, 'anno_jsonld'=>'{"@context":"http://www.w3.org/ns/oa.jsonld","@graph": [{"@id":"_:g70038924372700","@type":["dctypes:Text","cnt:ContentAsText"], "format":"text/plain”, "chars":"Portland is somewhere here. Also Dragons”},{"@id":"https:// triannon-dev.stanford.edu/annotations/98206ec8-4def-44b8- b190-648d8224ce1c","@type":"oa:Annotation","hasBody":"_:g70038924372700","hasTarget":"http:// purl.stanford.edu/bd136jk4522","motivatedBy":"oa:commenting"}]}', ...}, { 'id'=>'f691b921-6f54-415b-9dfb-0d017f0d8ada', ...
  • 29. Rails App (SearchWorks) ActiveTriples ld4l-open_annotation_rdf triple store (in memory) RDF SearchWorks: Read and Display •  Easy Access to Relevant Info from jsonld •  Rapid Development •  Modular •  Maintainable Triannon Solr jsonld as RDF::Graph Search for annos
  • 30. LDP API Fedora 4Solr CRUD Search / Read CRUDCUD Client Application Client Application Client Application Triannon
  • 31. STANFORD UNIVERSITY LIBRARIES Thank You! February 11th, 2015 azaroth@stanford.edu ndushay@stanford.edu