SlideShare a Scribd company logo
From Open Annotations to
W3C Web Annotations
(and the impact on IIIF
Presentation API 3.0)
Simeon Warner (Cornell University)
https://orcid.org/0000-0002-7970-7855
much input from Rob Sanderson (J. Paul Getty Trust)
https://orcid.org/0000-0003-4441-6852
(errors belong to Simeon though)
Open Annotation
• W3C “Community Draft” 2013
• Basis for annotations in IIIF Presentation API v2.1 (and prior
versions)
W3C Web Annotation
• Cluster of W3C Recommendations – real standards – released
2017-02
Basic model – no change
• Identical picture used in Open Annotation and Web Annotation
• An annotation (resource) has:
o zero or more bodies (e.g. highlight may have zero)
o one or more targets
• Same namespace http://www.w3.org/ns/oa# and same
suggested oa: prefix (in serializations other than JSON-LD)
Cleaner JSON – mirrored in Presentation 3
{
"@context”:”.../presentation/2/context.json",
"@id": "http://ex.org/.../p1-image",
"@type": "oa:Annotation",
"motivation": "sc:painting",
"resource": {
"@id": "http://ex.org/.../p1.jpg",
"@type": "dctypes:Image",
"format": "image/jpeg",
"service": {
"@context": ”.../image/2/context.json",
"@id": "http://ex.org/.../p1",
"profile": ”.../image/2/level2.json"
},
"height":2000,
"width":1500
},
"on": "http://ex.org/.../p1"
}
v2 example 5.4
{
"@context": [
"http://www.w3.org/ns/anno.jsonld",
".../presentation/3/context.json"
],
"id": "http://ex.org/.../p1-image",
"type": "Annotation",
"motivation": "painting",
"body": {
"id": "http://ex.org/.../p1.jpg",
"type": "Image",
"format": "image/jpeg",
"service": {
"id": "http://ex.org/.../p1",
"type": "ImageService3",
"profile": "level2"
},
"height":2000,
"width":1500
},
"target": "http://ex.org/.../p1"
}
v3 example 5.5
• Focus on developer/user friendliness: better documentation, use
cases for each feature, and...
• No prefixes, better terms, fewer @ signs
• Stricter definition of values and cardinality
• Downside of improvements... numerous changes in the JSON-LD
Web Annotation splits Model and Vocabulary
• Combined in Open Annotation specification
• No direct impact on IIIF but cleaner (model examples all JSON-
LD whereas the vocabulary uses Turtle)
Adds Protocol for Annotations
• Separate “Web Annotation Protocol” specification
• Not included in the Open Annotation specifications
• Describes the rest of REST: create, update and delete
http://w3.org/TR/annotation-protocol/
Protocol use in IIIF Presentation 3
5.5 Annotations ... “Annotations MUST have their own http(s)
URIs, conveyed in the id property. The JSON-LD description of the
Annotation SHOULD be returned if the URI is dereferenced,
according to the Web Annotation Protocol.”
Replaced "Content in RDF" with TextualBody
Web Annotation removed defunct "Content in RDF" specification
• Working Draft from 2011 never progressed to a specification. A new
Working Group Note was published in 2017 with essentially the same
content (better formatting) but is not on a standardization path.
• ContentAsBase64 and ContentAsXML (along with DoctypeDecl) are
pretty ugly too ;-)
Instead use TextualBody which mirrors referenced content:
{
"@context": "http://www.w3.org/ns/anno.jsonld",
"id": "http://example.org/anno5",
"type": "Annotation",
"body": {
"type" : "TextualBody",
"value" : "<p>j'adore !</p>",
"format" : "text/html",
"language" : "fr"
},
"target": "http://example.org/photo1"
}
Adds bodyValue shortcut (hack)
The bodyValue shortcut provides a very compact syntax for the
simplest case of a single string body, but it is explicitly NOT
RECOMMENDED for use
• and hence... not used in IIIF!
• goes against evolving principle of regularity – feedback from
client developers is that we should have regularly formatted
JSON-LD, avoiding multiple forms
Specific Resources
• Model largely the same – provides the ability to contextualize,
or select part of, the body or target resource in the annotation
o Now recommended pattern for fragments, instead of direct
#xywh= URIs
o Added purpose as way of associating a Motivation with a
Specific Resource
o More selectors and selector refinement by chaining
Selectors rather than direct fragments?
{
"@context": ".../presentation/2/context.json",
"@id": "http://ex.org/anno1",
"@type": "oa:Annotation",
"motivation": "sc:painting",
"resource": {
"@id": "http://ex.org/image.jpg",
...
},
"on": "http://ex.org/canvas/p1#xywh=0,0,600,900"
}
shortened example from v2 segments
{
"@context": [
"http://www.w3.org/ns/anno.jsonld",
".../presentation/3/context.json"
],
"@id": "http://ex.org/anno1",
"@type": "Annotation",
"motivation": "painting",
"body": {
"@id": "http://ex.org/image.jpg",
...
},
"target": {
"source": "http://ex.org/canvas/p1",
"selector": {
"type": "FragmentSelector",
"conformsTo": ”...w3.org/TR/media-frags/",
"value": "xywh=0,0,600,900"
}
}
}
It is RECOMMENDED to use FragmentSelector as a consistent method
compatible with other means of describing SpecificResources, rather
than using the IRI with a fragment directly. Consuming applications
SHOULD be aware of both. [Web Annotation, Fragment Selector]
Annotation Pages and Collections
Web Annotation specification introduces the Annotation Page as
part of an Annotation Collection
• Class from Activity Streams (as:OrderedCollectionPage)
• Annotation Lists (a Shared Canvas construct) are replaced with
Annotation Pages
• In IIIF JSON-LD the type changes from sc:AnnotationList to
AnnotationPage
also introduces the Annotation Collection
• Class from Activity Streams (as:OrderedCollection) which has
Annotation Pages as parts
• Layers (a Shared Canvas construct) are replaced with
Annotation Collections
• In IIIF JSON-lD the type changes from sc:Layer to
AnnotationCollection
Changes without direct impact on IIIF
• Replaced prov-o ontology features with simpler notions from
dcterms
• Selection of bodies: List and Composite were removed as the
use cases were deemed too esoteric with no implementations;
Choice remains, but is now ordered list (sub-class of
as:OrderedCollection) rather than a default plus unordered
options
• Added additional properties for bodies and targets:
o processingLanguage and textDirection for
Internationalization
o accessibility, using schema.org description of the
accessibilityFeature property.
• Additional properties for the annotation:
o audience, based schema.org's Audience class

More Related Content

What's hot

Rest presentation
Rest  presentationRest  presentation
Rest presentationsrividhyau
 
Are you getting Sleepy. REST in SharePoint Apps
Are you getting Sleepy. REST in SharePoint AppsAre you getting Sleepy. REST in SharePoint Apps
Are you getting Sleepy. REST in SharePoint AppsLiam Cleary [MVP]
 
External Data Access with jQuery
External Data Access with jQueryExternal Data Access with jQuery
External Data Access with jQueryDoncho Minkov
 
Services in Drupal 8
Services in Drupal 8Services in Drupal 8
Services in Drupal 8Andrei Jechiu
 
OData, Open Data Protocol. A brief introduction
OData, Open Data Protocol. A brief introductionOData, Open Data Protocol. A brief introduction
OData, Open Data Protocol. A brief introduction
Eugenio Lentini
 
Eclipse Day India 2015 - Rest with Java (jax rs) and jersey
Eclipse Day India 2015 - Rest with Java (jax rs) and jerseyEclipse Day India 2015 - Rest with Java (jax rs) and jersey
Eclipse Day India 2015 - Rest with Java (jax rs) and jersey
Eclipse Day India
 

What's hot (6)

Rest presentation
Rest  presentationRest  presentation
Rest presentation
 
Are you getting Sleepy. REST in SharePoint Apps
Are you getting Sleepy. REST in SharePoint AppsAre you getting Sleepy. REST in SharePoint Apps
Are you getting Sleepy. REST in SharePoint Apps
 
External Data Access with jQuery
External Data Access with jQueryExternal Data Access with jQuery
External Data Access with jQuery
 
Services in Drupal 8
Services in Drupal 8Services in Drupal 8
Services in Drupal 8
 
OData, Open Data Protocol. A brief introduction
OData, Open Data Protocol. A brief introductionOData, Open Data Protocol. A brief introduction
OData, Open Data Protocol. A brief introduction
 
Eclipse Day India 2015 - Rest with Java (jax rs) and jersey
Eclipse Day India 2015 - Rest with Java (jax rs) and jerseyEclipse Day India 2015 - Rest with Java (jax rs) and jersey
Eclipse Day India 2015 - Rest with Java (jax rs) and jersey
 

Similar to From Open Annotations to W3C Web Annotations (and the impact on IIIF Presentation API 3.0) (@SWIB17)

Wikidata as a hub for the linked data cloud
Wikidata as a hub for the linked data cloudWikidata as a hub for the linked data cloud
Wikidata as a hub for the linked data cloud
Joachim Neubert
 
Elasticsearch
ElasticsearchElasticsearch
Elasticsearch
Ricardo Peres
 
Hypermedia APIs and HATEOAS / Wix Engineering
Hypermedia APIs and HATEOAS / Wix EngineeringHypermedia APIs and HATEOAS / Wix Engineering
Hypermedia APIs and HATEOAS / Wix Engineering
Vladimir Tsukur
 
Making Java REST with JAX-RS 2.0
Making Java REST with JAX-RS 2.0Making Java REST with JAX-RS 2.0
Making Java REST with JAX-RS 2.0
Dmytro Chyzhykov
 
Extensible RESTful Applications with Apache TinkerPop
Extensible RESTful Applications with Apache TinkerPopExtensible RESTful Applications with Apache TinkerPop
Extensible RESTful Applications with Apache TinkerPop
Varun Ganesh
 
All about elasticsearch language clients
All about elasticsearch language clientsAll about elasticsearch language clients
All about elasticsearch language clients
Enterprise Search Warsaw Meetup
 
Repositories thru the looking glass
Repositories thru the looking glassRepositories thru the looking glass
Repositories thru the looking glass
Eduserv Foundation
 
Data integration with a façade. The case of knowledge graph construction.
Data integration with a façade. The case of knowledge graph construction.Data integration with a façade. The case of knowledge graph construction.
Data integration with a façade. The case of knowledge graph construction.
Enrico Daga
 
SemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n BoltsSemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n BoltsRinke Hoekstra
 
JSON-LD Update
JSON-LD UpdateJSON-LD Update
JSON-LD Update
Gregg Kellogg
 
JSON-LD update DC 2017
JSON-LD update DC 2017JSON-LD update DC 2017
JSON-LD update DC 2017
Gregg Kellogg
 
The Glory of Rest
The Glory of RestThe Glory of Rest
The Glory of Rest
Sławomir Chrobak
 
The JSON REST API for WordPress
The JSON REST API for WordPressThe JSON REST API for WordPress
The JSON REST API for WordPress
Taylor Lovett
 
JSON REST API for WordPress
JSON REST API for WordPressJSON REST API for WordPress
JSON REST API for WordPress
Taylor Lovett
 
Differential Sync and JSON Patch @ SpringOne2GX 2014
Differential Sync and JSON Patch @ SpringOne2GX 2014Differential Sync and JSON Patch @ SpringOne2GX 2014
Differential Sync and JSON Patch @ SpringOne2GX 2014
Brian Cavalier
 
AAT LOD Microthesauri
AAT LOD MicrothesauriAAT LOD Microthesauri
AAT LOD Microthesauri
Marcia Zeng
 
REST easy with API Platform
REST easy with API PlatformREST easy with API Platform
REST easy with API Platform
Antonio Peric-Mazar
 
Spotlight
SpotlightSpotlight
Spotlight
Stefano Lariccia
 
FIWARE Global Summit - The Way Towards Interoperability between Web Of Things...
FIWARE Global Summit - The Way Towards Interoperability between Web Of Things...FIWARE Global Summit - The Way Towards Interoperability between Web Of Things...
FIWARE Global Summit - The Way Towards Interoperability between Web Of Things...
FIWARE
 
OWSCIS: Ontology and Web Service based Cooperation of Information Sources
OWSCIS: Ontology and Web Service based Cooperation of Information SourcesOWSCIS: Ontology and Web Service based Cooperation of Information Sources
OWSCIS: Ontology and Web Service based Cooperation of Information Sources
Raji Ghawi
 

Similar to From Open Annotations to W3C Web Annotations (and the impact on IIIF Presentation API 3.0) (@SWIB17) (20)

Wikidata as a hub for the linked data cloud
Wikidata as a hub for the linked data cloudWikidata as a hub for the linked data cloud
Wikidata as a hub for the linked data cloud
 
Elasticsearch
ElasticsearchElasticsearch
Elasticsearch
 
Hypermedia APIs and HATEOAS / Wix Engineering
Hypermedia APIs and HATEOAS / Wix EngineeringHypermedia APIs and HATEOAS / Wix Engineering
Hypermedia APIs and HATEOAS / Wix Engineering
 
Making Java REST with JAX-RS 2.0
Making Java REST with JAX-RS 2.0Making Java REST with JAX-RS 2.0
Making Java REST with JAX-RS 2.0
 
Extensible RESTful Applications with Apache TinkerPop
Extensible RESTful Applications with Apache TinkerPopExtensible RESTful Applications with Apache TinkerPop
Extensible RESTful Applications with Apache TinkerPop
 
All about elasticsearch language clients
All about elasticsearch language clientsAll about elasticsearch language clients
All about elasticsearch language clients
 
Repositories thru the looking glass
Repositories thru the looking glassRepositories thru the looking glass
Repositories thru the looking glass
 
Data integration with a façade. The case of knowledge graph construction.
Data integration with a façade. The case of knowledge graph construction.Data integration with a façade. The case of knowledge graph construction.
Data integration with a façade. The case of knowledge graph construction.
 
SemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n BoltsSemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n Bolts
 
JSON-LD Update
JSON-LD UpdateJSON-LD Update
JSON-LD Update
 
JSON-LD update DC 2017
JSON-LD update DC 2017JSON-LD update DC 2017
JSON-LD update DC 2017
 
The Glory of Rest
The Glory of RestThe Glory of Rest
The Glory of Rest
 
The JSON REST API for WordPress
The JSON REST API for WordPressThe JSON REST API for WordPress
The JSON REST API for WordPress
 
JSON REST API for WordPress
JSON REST API for WordPressJSON REST API for WordPress
JSON REST API for WordPress
 
Differential Sync and JSON Patch @ SpringOne2GX 2014
Differential Sync and JSON Patch @ SpringOne2GX 2014Differential Sync and JSON Patch @ SpringOne2GX 2014
Differential Sync and JSON Patch @ SpringOne2GX 2014
 
AAT LOD Microthesauri
AAT LOD MicrothesauriAAT LOD Microthesauri
AAT LOD Microthesauri
 
REST easy with API Platform
REST easy with API PlatformREST easy with API Platform
REST easy with API Platform
 
Spotlight
SpotlightSpotlight
Spotlight
 
FIWARE Global Summit - The Way Towards Interoperability between Web Of Things...
FIWARE Global Summit - The Way Towards Interoperability between Web Of Things...FIWARE Global Summit - The Way Towards Interoperability between Web Of Things...
FIWARE Global Summit - The Way Towards Interoperability between Web Of Things...
 
OWSCIS: Ontology and Web Service based Cooperation of Information Sources
OWSCIS: Ontology and Web Service based Cooperation of Information SourcesOWSCIS: Ontology and Web Service based Cooperation of Information Sources
OWSCIS: Ontology and Web Service based Cooperation of Information Sources
 

More from Simeon Warner

Questioning Authority Lookup Service: Linking the Data
Questioning Authority Lookup Service: Linking the DataQuestioning Authority Lookup Service: Linking the Data
Questioning Authority Lookup Service: Linking the Data
Simeon Warner
 
OCFL: A Shared Approach to Preservation Persistence
OCFL: A Shared Approach to Preservation PersistenceOCFL: A Shared Approach to Preservation Persistence
OCFL: A Shared Approach to Preservation Persistence
Simeon Warner
 
The Oxford Common File Layout: A common approach to digital preservation
The Oxford Common File Layout: A common approach to digital preservationThe Oxford Common File Layout: A common approach to digital preservation
The Oxford Common File Layout: A common approach to digital preservation
Simeon Warner
 
Welcome to the FOLIO Community
Welcome to the FOLIO CommunityWelcome to the FOLIO Community
Welcome to the FOLIO Community
Simeon Warner
 
Sinopia & FOLIO: Bridging the gap to linked data cataloging
Sinopia & FOLIO: Bridging the gap to linked data cataloging Sinopia & FOLIO: Bridging the gap to linked data cataloging
Sinopia & FOLIO: Bridging the gap to linked data cataloging
Simeon Warner
 
FOLIO and Linked Data
FOLIO and Linked DataFOLIO and Linked Data
FOLIO and Linked Data
Simeon Warner
 
OCFL v1.0
OCFL v1.0OCFL v1.0
OCFL v1.0
Simeon Warner
 
IIIF Technical Specification Status Update
IIIF Technical Specification Status UpdateIIIF Technical Specification Status Update
IIIF Technical Specification Status Update
Simeon Warner
 
LKG Editor Dev
LKG Editor DevLKG Editor Dev
LKG Editor Dev
Simeon Warner
 
Don't bold the field name!
Don't bold the field name!Don't bold the field name!
Don't bold the field name!
Simeon Warner
 
Samvera and IIIF 2018
Samvera and IIIF 2018Samvera and IIIF 2018
Samvera and IIIF 2018
Simeon Warner
 
Oxford Common File Layout (OCFL)
Oxford Common File Layout (OCFL)Oxford Common File Layout (OCFL)
Oxford Common File Layout (OCFL)
Simeon Warner
 
ORCID @ Cornell
ORCID @ CornellORCID @ Cornell
ORCID @ Cornell
Simeon Warner
 
Introduction to the IIIF Presentation API (@SWIB17)
Introduction to the IIIF Presentation API (@SWIB17)Introduction to the IIIF Presentation API (@SWIB17)
Introduction to the IIIF Presentation API (@SWIB17)
Simeon Warner
 
Introduction to the International Image Interoperability Framework (IIIF)
Introduction to the International Image Interoperability Framework (IIIF)Introduction to the International Image Interoperability Framework (IIIF)
Introduction to the International Image Interoperability Framework (IIIF)
Simeon Warner
 
From Open Access to Open Standards, (Linked) Data and Collaborations
From Open Access to Open Standards, (Linked) Data and CollaborationsFrom Open Access to Open Standards, (Linked) Data and Collaborations
From Open Access to Open Standards, (Linked) Data and Collaborations
Simeon Warner
 
Mind the gap! Reflections on the state of repository data harvesting
Mind the gap! Reflections on the state of repository data harvestingMind the gap! Reflections on the state of repository data harvesting
Mind the gap! Reflections on the state of repository data harvesting
Simeon Warner
 
ORCID & other Person iDs
ORCID & other Person iDsORCID & other Person iDs
ORCID & other Person iDs
Simeon Warner
 
Who's the Author? Identifier soup - ORCID, ISNI, LC NACO and VIAF
Who's the Author? Identifier soup - ORCID, ISNI, LC NACO and VIAFWho's the Author? Identifier soup - ORCID, ISNI, LC NACO and VIAF
Who's the Author? Identifier soup - ORCID, ISNI, LC NACO and VIAF
Simeon Warner
 
IIIF Technical Specification Status Update
IIIF Technical Specification Status UpdateIIIF Technical Specification Status Update
IIIF Technical Specification Status Update
Simeon Warner
 

More from Simeon Warner (20)

Questioning Authority Lookup Service: Linking the Data
Questioning Authority Lookup Service: Linking the DataQuestioning Authority Lookup Service: Linking the Data
Questioning Authority Lookup Service: Linking the Data
 
OCFL: A Shared Approach to Preservation Persistence
OCFL: A Shared Approach to Preservation PersistenceOCFL: A Shared Approach to Preservation Persistence
OCFL: A Shared Approach to Preservation Persistence
 
The Oxford Common File Layout: A common approach to digital preservation
The Oxford Common File Layout: A common approach to digital preservationThe Oxford Common File Layout: A common approach to digital preservation
The Oxford Common File Layout: A common approach to digital preservation
 
Welcome to the FOLIO Community
Welcome to the FOLIO CommunityWelcome to the FOLIO Community
Welcome to the FOLIO Community
 
Sinopia & FOLIO: Bridging the gap to linked data cataloging
Sinopia & FOLIO: Bridging the gap to linked data cataloging Sinopia & FOLIO: Bridging the gap to linked data cataloging
Sinopia & FOLIO: Bridging the gap to linked data cataloging
 
FOLIO and Linked Data
FOLIO and Linked DataFOLIO and Linked Data
FOLIO and Linked Data
 
OCFL v1.0
OCFL v1.0OCFL v1.0
OCFL v1.0
 
IIIF Technical Specification Status Update
IIIF Technical Specification Status UpdateIIIF Technical Specification Status Update
IIIF Technical Specification Status Update
 
LKG Editor Dev
LKG Editor DevLKG Editor Dev
LKG Editor Dev
 
Don't bold the field name!
Don't bold the field name!Don't bold the field name!
Don't bold the field name!
 
Samvera and IIIF 2018
Samvera and IIIF 2018Samvera and IIIF 2018
Samvera and IIIF 2018
 
Oxford Common File Layout (OCFL)
Oxford Common File Layout (OCFL)Oxford Common File Layout (OCFL)
Oxford Common File Layout (OCFL)
 
ORCID @ Cornell
ORCID @ CornellORCID @ Cornell
ORCID @ Cornell
 
Introduction to the IIIF Presentation API (@SWIB17)
Introduction to the IIIF Presentation API (@SWIB17)Introduction to the IIIF Presentation API (@SWIB17)
Introduction to the IIIF Presentation API (@SWIB17)
 
Introduction to the International Image Interoperability Framework (IIIF)
Introduction to the International Image Interoperability Framework (IIIF)Introduction to the International Image Interoperability Framework (IIIF)
Introduction to the International Image Interoperability Framework (IIIF)
 
From Open Access to Open Standards, (Linked) Data and Collaborations
From Open Access to Open Standards, (Linked) Data and CollaborationsFrom Open Access to Open Standards, (Linked) Data and Collaborations
From Open Access to Open Standards, (Linked) Data and Collaborations
 
Mind the gap! Reflections on the state of repository data harvesting
Mind the gap! Reflections on the state of repository data harvestingMind the gap! Reflections on the state of repository data harvesting
Mind the gap! Reflections on the state of repository data harvesting
 
ORCID & other Person iDs
ORCID & other Person iDsORCID & other Person iDs
ORCID & other Person iDs
 
Who's the Author? Identifier soup - ORCID, ISNI, LC NACO and VIAF
Who's the Author? Identifier soup - ORCID, ISNI, LC NACO and VIAFWho's the Author? Identifier soup - ORCID, ISNI, LC NACO and VIAF
Who's the Author? Identifier soup - ORCID, ISNI, LC NACO and VIAF
 
IIIF Technical Specification Status Update
IIIF Technical Specification Status UpdateIIIF Technical Specification Status Update
IIIF Technical Specification Status Update
 

Recently uploaded

Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
Globus
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 

Recently uploaded (20)

Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 

From Open Annotations to W3C Web Annotations (and the impact on IIIF Presentation API 3.0) (@SWIB17)

  • 1. From Open Annotations to W3C Web Annotations (and the impact on IIIF Presentation API 3.0) Simeon Warner (Cornell University) https://orcid.org/0000-0002-7970-7855 much input from Rob Sanderson (J. Paul Getty Trust) https://orcid.org/0000-0003-4441-6852 (errors belong to Simeon though)
  • 2. Open Annotation • W3C “Community Draft” 2013 • Basis for annotations in IIIF Presentation API v2.1 (and prior versions)
  • 3. W3C Web Annotation • Cluster of W3C Recommendations – real standards – released 2017-02
  • 4. Basic model – no change • Identical picture used in Open Annotation and Web Annotation • An annotation (resource) has: o zero or more bodies (e.g. highlight may have zero) o one or more targets • Same namespace http://www.w3.org/ns/oa# and same suggested oa: prefix (in serializations other than JSON-LD)
  • 5. Cleaner JSON – mirrored in Presentation 3 { "@context”:”.../presentation/2/context.json", "@id": "http://ex.org/.../p1-image", "@type": "oa:Annotation", "motivation": "sc:painting", "resource": { "@id": "http://ex.org/.../p1.jpg", "@type": "dctypes:Image", "format": "image/jpeg", "service": { "@context": ”.../image/2/context.json", "@id": "http://ex.org/.../p1", "profile": ”.../image/2/level2.json" }, "height":2000, "width":1500 }, "on": "http://ex.org/.../p1" } v2 example 5.4 { "@context": [ "http://www.w3.org/ns/anno.jsonld", ".../presentation/3/context.json" ], "id": "http://ex.org/.../p1-image", "type": "Annotation", "motivation": "painting", "body": { "id": "http://ex.org/.../p1.jpg", "type": "Image", "format": "image/jpeg", "service": { "id": "http://ex.org/.../p1", "type": "ImageService3", "profile": "level2" }, "height":2000, "width":1500 }, "target": "http://ex.org/.../p1" } v3 example 5.5 • Focus on developer/user friendliness: better documentation, use cases for each feature, and... • No prefixes, better terms, fewer @ signs • Stricter definition of values and cardinality • Downside of improvements... numerous changes in the JSON-LD
  • 6. Web Annotation splits Model and Vocabulary • Combined in Open Annotation specification • No direct impact on IIIF but cleaner (model examples all JSON- LD whereas the vocabulary uses Turtle)
  • 7. Adds Protocol for Annotations • Separate “Web Annotation Protocol” specification • Not included in the Open Annotation specifications • Describes the rest of REST: create, update and delete http://w3.org/TR/annotation-protocol/
  • 8. Protocol use in IIIF Presentation 3 5.5 Annotations ... “Annotations MUST have their own http(s) URIs, conveyed in the id property. The JSON-LD description of the Annotation SHOULD be returned if the URI is dereferenced, according to the Web Annotation Protocol.”
  • 9. Replaced "Content in RDF" with TextualBody Web Annotation removed defunct "Content in RDF" specification • Working Draft from 2011 never progressed to a specification. A new Working Group Note was published in 2017 with essentially the same content (better formatting) but is not on a standardization path. • ContentAsBase64 and ContentAsXML (along with DoctypeDecl) are pretty ugly too ;-) Instead use TextualBody which mirrors referenced content: { "@context": "http://www.w3.org/ns/anno.jsonld", "id": "http://example.org/anno5", "type": "Annotation", "body": { "type" : "TextualBody", "value" : "<p>j'adore !</p>", "format" : "text/html", "language" : "fr" }, "target": "http://example.org/photo1" }
  • 10. Adds bodyValue shortcut (hack) The bodyValue shortcut provides a very compact syntax for the simplest case of a single string body, but it is explicitly NOT RECOMMENDED for use • and hence... not used in IIIF! • goes against evolving principle of regularity – feedback from client developers is that we should have regularly formatted JSON-LD, avoiding multiple forms
  • 11. Specific Resources • Model largely the same – provides the ability to contextualize, or select part of, the body or target resource in the annotation o Now recommended pattern for fragments, instead of direct #xywh= URIs o Added purpose as way of associating a Motivation with a Specific Resource o More selectors and selector refinement by chaining
  • 12. Selectors rather than direct fragments? { "@context": ".../presentation/2/context.json", "@id": "http://ex.org/anno1", "@type": "oa:Annotation", "motivation": "sc:painting", "resource": { "@id": "http://ex.org/image.jpg", ... }, "on": "http://ex.org/canvas/p1#xywh=0,0,600,900" } shortened example from v2 segments { "@context": [ "http://www.w3.org/ns/anno.jsonld", ".../presentation/3/context.json" ], "@id": "http://ex.org/anno1", "@type": "Annotation", "motivation": "painting", "body": { "@id": "http://ex.org/image.jpg", ... }, "target": { "source": "http://ex.org/canvas/p1", "selector": { "type": "FragmentSelector", "conformsTo": ”...w3.org/TR/media-frags/", "value": "xywh=0,0,600,900" } } } It is RECOMMENDED to use FragmentSelector as a consistent method compatible with other means of describing SpecificResources, rather than using the IRI with a fragment directly. Consuming applications SHOULD be aware of both. [Web Annotation, Fragment Selector]
  • 13. Annotation Pages and Collections Web Annotation specification introduces the Annotation Page as part of an Annotation Collection • Class from Activity Streams (as:OrderedCollectionPage) • Annotation Lists (a Shared Canvas construct) are replaced with Annotation Pages • In IIIF JSON-LD the type changes from sc:AnnotationList to AnnotationPage also introduces the Annotation Collection • Class from Activity Streams (as:OrderedCollection) which has Annotation Pages as parts • Layers (a Shared Canvas construct) are replaced with Annotation Collections • In IIIF JSON-lD the type changes from sc:Layer to AnnotationCollection
  • 14. Changes without direct impact on IIIF • Replaced prov-o ontology features with simpler notions from dcterms • Selection of bodies: List and Composite were removed as the use cases were deemed too esoteric with no implementations; Choice remains, but is now ordered list (sub-class of as:OrderedCollection) rather than a default plus unordered options • Added additional properties for bodies and targets: o processingLanguage and textDirection for Internationalization o accessibility, using schema.org description of the accessibilityFeature property. • Additional properties for the annotation: o audience, based schema.org's Audience class

Editor's Notes

  1. Ids were MAY in 2: http://iiif.io/api/presentation/2.1/#image-resources