SlideShare a Scribd company logo
1 of 57
Download to read offline
Extending IIIF 3.0
2018 IIIF Conference, Washington DC
David Newbury, J. Paul Getty Trust
@workergnome
Extending IIIF 3.0 — David Newbury (@workergnome) 1
Triple-eye-eff.
The IIIF Presentation API is a data model
for arranging virtual canvases, annotating them
and providing descriptive content.
Extending IIIF 3.0 — David Newbury (@workergnome) 2
Triple-eye-eff.
I'm not going to talk about images.
I'm not going talk about arranging them.
Instead, I'm going to talk about metadata.
Extending IIIF 3.0 — David Newbury (@workergnome) 3
The Paintings, Puppies, & Pustules problem
What metadata standard handles meaning across these things?
Extending IIIF 3.0 — David Newbury (@workergnome) 4
We punted.
IIIF is presentational,
not semantic.
How it looks,
not what it means.
Extending IIIF 3.0 — David Newbury (@workergnome) 5
Properties for People
Words, generally.
Lots of words.
Extending IIIF 3.0 — David Newbury (@workergnome) 6
Properties for Software
Data that needs to be
interpreted by client so!ware.
Extending IIIF 3.0 — David Newbury (@workergnome) 7
Properties for Robots
Explaining to robots
what this all means.
(Yes, this is semantic. Shhhhh.)
Extending IIIF 3.0 — David Newbury (@workergnome) 8
What comes
out of the box?
Extending IIIF 3.0 — David Newbury (@workergnome) 9
Presentation Properties for People
label
A human readable label for the resource.
Extending IIIF 3.0 — David Newbury (@workergnome) 10
Presentation Properties for People
summary
A short textual summary of the resource.
Extending IIIF 3.0 — David Newbury (@workergnome) 11
Presentation Properties for People
requiredStatement
Text that MUST be displayed.
Extending IIIF 3.0 — David Newbury (@workergnome) 12
Presentation Properties for People
metadata
An list of label and value entries.
Extending IIIF 3.0 — David Newbury (@workergnome) 13
Presentation Properties for Software
navDate
A date that the client can use for navigation purposes.
Extending IIIF 3.0 — David Newbury (@workergnome) 14
Presentation Properties for Software
rights
A URL for a rights statement for the resource's content.
Extending IIIF 3.0 — David Newbury (@workergnome) 15
Presentation Properties for Software
homepage
A link to a web page that describes the "Real World Object".
Extending IIIF 3.0 — David Newbury (@workergnome) 16
Presentation Properties for Software
thumbnail
An content resource that represents this resource.
Extending IIIF 3.0 — David Newbury (@workergnome) 17
Presentation Properties for Software
logo
A small image that represents an individual or organization.
Extending IIIF 3.0 — David Newbury (@workergnome) 18
Presentation Properties for Software
posterCanvas
A Canvas-based summary of the resource.
Extending IIIF 3.0 — David Newbury (@workergnome) 19
That's all you get for embedded properties.
Extending IIIF 3.0 — David Newbury (@workergnome) 20
That's all you get for embedded properties.
You were hoping for more, weren't you.
Extending IIIF 3.0 — David Newbury (@workergnome) 21
Links & Linked Data
External resources & data.
Extending IIIF 3.0 — David Newbury (@workergnome) 22
Links for People
rendering
A non-IIIF representation
of the resource for humans--
though it might need special so!ware to view!
PDFs, OBJ files, ePub files
Extending IIIF 3.0 — David Newbury (@workergnome) 23
Links for People
{
"rendering": [{
"id": "https://example.org/1.pdf",
"type": "Text",
"format": "application/pdf",
"label": { "en": [ "PDF Rendering of Book" ] }
}]
}
Extending IIIF 3.0 — David Newbury (@workergnome) 24
Links for People
"label": Description for people.
"format": Description for so!ware.
Extending IIIF 3.0 — David Newbury (@workergnome) 25
Links for Robots
"seeAlso"
Related, external datasets.
TEI files, RDF data, XML files
Extending IIIF 3.0 — David Newbury (@workergnome) 26
Links for Robots
{
"seeAlso": [{
"id": "https://example.org/library/catalog/book1.xml",
"type": "Dataset",
"format": "text/xml",
"profile": "https://example.org/profiles/bibliographic"
}]
}
Extending IIIF 3.0 — David Newbury (@workergnome) 27
Links for Robots
"profile":
How your community's robots
recognize this data as relevant.
(your community has robots, right?)
Extending IIIF 3.0 — David Newbury (@workergnome) 28
Links for Software
"service"
External APIs that so!ware can interact with
for new functionality or information.
The Image API is common,
but there are others.
Extending IIIF 3.0 — David Newbury (@workergnome) 29
Links for Software
{
"service": [{
"id": "https://example.org/service",
"type": "Service",
"profile": "https://example.org/docs/service"
}]
}
Extending IIIF 3.0 — David Newbury (@workergnome) 30
Links for Robots
You need to know what the service does to use it.
Documentation should be available at the profile URL.
Extending IIIF 3.0 — David Newbury (@workergnome) 31
You want more?
(Never satisfied, are you?)
Extending IIIF 3.0 — David Newbury (@workergnome) 32
Annotations
Linking between resources via a motivation.
IIIF defines the painting & supplementing motivations,
the Web Annotation spec defines others.
(clients need to recognize them, though...)
Extending IIIF 3.0 — David Newbury (@workergnome) 33
Annotations
Annotations are the way to
provide custom content for people.
They're not very good at providing
content for so!ware, though.
Extending IIIF 3.0 — David Newbury (@workergnome) 34
Still not satisfied?
You really want custom, semantic,
machine-readable properties.
Even though IIIF doesn't do that.
Extending IIIF 3.0 — David Newbury (@workergnome) 35
Do what thou wilt.
Extending IIIF 3.0 — David Newbury (@workergnome) 36
Custom JSON properties.
Other properties are allowed...if a client discovers properties
that it does not understand, then it must ignore them.
IIIF lets you add new properties.
Extending IIIF 3.0 — David Newbury (@workergnome) 37
{
"@context": [
"http://www.w3.org/ns/anno.jsonld",
"http://iiif.io/api/presentation/3/context.json"
],
"id": "https://example.org/iiif/custom_props",
"type": "Manifest",
"lastModified": "2017-12-25"
...
}
Extending IIIF 3.0 — David Newbury (@workergnome) 38
Custom JSON properties.
If it’s only your manifests,
used by only your so!ware,
and nobody else ever uses it...
Then maybe it’s ok.
That's not very IIIF-y, though.
Extending IIIF 3.0 — David Newbury (@workergnome) 39
Problems with Custom JSON:
— I can't tell that you've used them.
— I can't guess what they mean.
— I might have used the same property.
— IIIF might use the same property.
Extending IIIF 3.0 — David Newbury (@workergnome) 40
The heart wants what it wants.
Extending IIIF 3.0 — David Newbury (@workergnome) 41
Fine. You win.
IIIF Extensions.
Extending IIIF 3.0 — David Newbury (@workergnome) 42
IIIF Extension best practices:
— Don't reuse existing property names
— Indicate you're using a custom property
— Use as few properties as possible
— Explain what they mean
— Share them with the community
Extending IIIF 3.0 — David Newbury (@workergnome) 43
JSON-LD Contexts
No one would accidentally reuse
{
"http://iiif.davidnewbury.com/lastModified": "2017-12-25"
}
But, man—
is it ugly.
Extending IIIF 3.0 — David Newbury (@workergnome) 44
JSON-LD Contexts
If I host a context.json file...
{
"@context": {
"@version": 1.1,
"lastModified": "http://iiif.davidnewbury.com/lastModified"
}
}
Extending IIIF 3.0 — David Newbury (@workergnome) 45
JSON-LD Contexts
...and include it into my manifest...
{
"@context": [
"http://iiif.davidnewbury.com/context.json",
"http://www.w3.org/ns/anno.jsonld",
"http://iiif.io/api/presentation/3/context.json"
],
"id": "https://example.org/iiif/book1/manifest",
"lastModified": "2017-12-25",
"type": "Manifest",
}
Extending IIIF 3.0 — David Newbury (@workergnome) 46
JSON-LD Contexts
...I can use the pretty name.
{
"@context": [
"http://iiif.davidnewbury.com/context.json",
"http://www.w3.org/ns/anno.jsonld",
"http://iiif.io/api/presentation/3/context.json"
],
"id": "https://example.org/iiif/book1/manifest",
"lastModified": "2017-12-25",
"type": "Manifest",
}
Extending IIIF 3.0 — David Newbury (@workergnome) 47
JSON-LD Contexts
JSON-LD Contexts do three things:
1. Map property names to URIs
2. Let so!ware know to look for new properties
3. Tell you who created the properties
Extending IIIF 3.0 — David Newbury (@workergnome) 48
Um...this didn't solve the problem of reusing properties.
Extending IIIF 3.0 — David Newbury (@workergnome) 49
JSON-LD Scoped Contexts
There are only so many good names.
A IIIF extension should only claim one property,
but many extensions need more than one.
Extending IIIF 3.0 — David Newbury (@workergnome) 50
JSON-LD Scoped Contexts
In JSON-LD 1.1, there's a way to define a context
that only applies within a particular property:
Scoped Contexts.
Extending IIIF 3.0 — David Newbury (@workergnome) 51
{
"@context": {
"@version": 1.1,
"lastModified": "http://iiif.davidnewbury.com/lastModified"
}}
can be used like
{
"@context": [
"http://iiif.davidnewbury.com/context.json"
"http://www.w3.org/ns/anno.jsonld",
"http://iiif.io/api/presentation/3/context.json"
],
"id": "https://example.org/iiif/book1/manifest",
"type": "Manifest",
"lastModified": "2017-12-25"
}
Extending IIIF 3.0 — David Newbury (@workergnome) 52
{
"@context": {
"@version": 1.1,
"navPlace": {
"@id" : "http://iiif.davidnewbury.com#navPlace",
"@context": {
"lat": "http://iiif.davidnewbury.com#lat",
"lng": "http://iiif.davidnewbury.com#lng"
}
}
}
}
Extending IIIF 3.0 — David Newbury (@workergnome) 53
{
"@context": [
"http://iiif.davidnewbury.com/context2.json"
"http://www.w3.org/ns/anno.jsonld",
"http://iiif.io/api/presentation/3/context.json"
],
"id": "https://example.org/iiif/book1/manifest",
"type": "Manifest",
"navPlace": {
"lat": 34.045,
"lng": -118.565
}
}
Extending IIIF 3.0 — David Newbury (@workergnome) 54
Documentation properties
— type
— profile
— label
Extending IIIF 3.0 — David Newbury (@workergnome) 55
This STILL didn't solve the problem of reusing properties.
Extending IIIF 3.0 — David Newbury (@workergnome) 56
The IIIF
Registries
Extending IIIF 3.0 — David Newbury (@workergnome) 57

More Related Content

Similar to Extending IIIF 3.0

Digital Manuscripts Toolkit, using IIIF and JavaScript. Monica Messaggi Kaya
Digital Manuscripts Toolkit, using IIIF and JavaScript. Monica Messaggi KayaDigital Manuscripts Toolkit, using IIIF and JavaScript. Monica Messaggi Kaya
Digital Manuscripts Toolkit, using IIIF and JavaScript. Monica Messaggi KayaFuture Insights
 
GSoC 2017 Proposal - Chatbot for DBpedia
GSoC 2017 Proposal - Chatbot for DBpedia GSoC 2017 Proposal - Chatbot for DBpedia
GSoC 2017 Proposal - Chatbot for DBpedia Ram G Athreya
 
The LOD Gateway: Open Source Infrastructure for Linked Data
The LOD Gateway: Open Source Infrastructure for Linked DataThe LOD Gateway: Open Source Infrastructure for Linked Data
The LOD Gateway: Open Source Infrastructure for Linked DataDavid Newbury
 
RICOH THETA x IoT Developers Contest : Cloud API Seminar (2nd installation)
RICOH THETA x IoT Developers Contest : Cloud API Seminar (2nd installation)RICOH THETA x IoT Developers Contest : Cloud API Seminar (2nd installation)
RICOH THETA x IoT Developers Contest : Cloud API Seminar (2nd installation)contest-theta360
 
Social Networking using ROR
Social Networking using RORSocial Networking using ROR
Social Networking using RORDhaval Patel
 
2013 10-03-semantics-meetup-s buxton-mark_logic_pub
2013 10-03-semantics-meetup-s buxton-mark_logic_pub2013 10-03-semantics-meetup-s buxton-mark_logic_pub
2013 10-03-semantics-meetup-s buxton-mark_logic_pubStephen Buxton
 
From Academic Library 2.0 to (Literature) Research 2.0
From Academic Library 2.0  to (Literature) Research 2.0From Academic Library 2.0  to (Literature) Research 2.0
From Academic Library 2.0 to (Literature) Research 2.0Michael Habib
 
Talentbin Sales Deck
Talentbin Sales DeckTalentbin Sales Deck
Talentbin Sales DeckVishal Kumar
 
Talent Bin
Talent BinTalent Bin
Talent BinRyan Gum
 
IIIF: Discovery of Resources
IIIF: Discovery of ResourcesIIIF: Discovery of Resources
IIIF: Discovery of ResourcesRobert Sanderson
 
Reactive Data Access with Spring Data
Reactive Data Access with Spring DataReactive Data Access with Spring Data
Reactive Data Access with Spring DataVMware Tanzu
 
Metadata Provenance Tutorial at SWIB 13, Part 1
Metadata Provenance Tutorial at SWIB 13, Part 1Metadata Provenance Tutorial at SWIB 13, Part 1
Metadata Provenance Tutorial at SWIB 13, Part 1Kai Eckert
 
Open Data and News Analytics Demo
Open Data and News Analytics DemoOpen Data and News Analytics Demo
Open Data and News Analytics DemoOntotext
 
Business Schools 2.0
Business Schools 2.0Business Schools 2.0
Business Schools 2.0SealTree -
 

Similar to Extending IIIF 3.0 (20)

Digital Manuscripts Toolkit, using IIIF and JavaScript. Monica Messaggi Kaya
Digital Manuscripts Toolkit, using IIIF and JavaScript. Monica Messaggi KayaDigital Manuscripts Toolkit, using IIIF and JavaScript. Monica Messaggi Kaya
Digital Manuscripts Toolkit, using IIIF and JavaScript. Monica Messaggi Kaya
 
Digital Manuscripts Toolkit
Digital Manuscripts ToolkitDigital Manuscripts Toolkit
Digital Manuscripts Toolkit
 
Web 30 and RSS
Web 30 and RSSWeb 30 and RSS
Web 30 and RSS
 
GSoC 2017 Proposal - Chatbot for DBpedia
GSoC 2017 Proposal - Chatbot for DBpedia GSoC 2017 Proposal - Chatbot for DBpedia
GSoC 2017 Proposal - Chatbot for DBpedia
 
The LOD Gateway: Open Source Infrastructure for Linked Data
The LOD Gateway: Open Source Infrastructure for Linked DataThe LOD Gateway: Open Source Infrastructure for Linked Data
The LOD Gateway: Open Source Infrastructure for Linked Data
 
final ppt.pptx
final ppt.pptxfinal ppt.pptx
final ppt.pptx
 
final ppt.pptx
final ppt.pptxfinal ppt.pptx
final ppt.pptx
 
RICOH THETA x IoT Developers Contest : Cloud API Seminar (2nd installation)
RICOH THETA x IoT Developers Contest : Cloud API Seminar (2nd installation)RICOH THETA x IoT Developers Contest : Cloud API Seminar (2nd installation)
RICOH THETA x IoT Developers Contest : Cloud API Seminar (2nd installation)
 
Social Networking using ROR
Social Networking using RORSocial Networking using ROR
Social Networking using ROR
 
2013 10-03-semantics-meetup-s buxton-mark_logic_pub
2013 10-03-semantics-meetup-s buxton-mark_logic_pub2013 10-03-semantics-meetup-s buxton-mark_logic_pub
2013 10-03-semantics-meetup-s buxton-mark_logic_pub
 
From Academic Library 2.0 to (Literature) Research 2.0
From Academic Library 2.0  to (Literature) Research 2.0From Academic Library 2.0  to (Literature) Research 2.0
From Academic Library 2.0 to (Literature) Research 2.0
 
Talentbin Sales Deck
Talentbin Sales DeckTalentbin Sales Deck
Talentbin Sales Deck
 
Talent Bin
Talent BinTalent Bin
Talent Bin
 
IIIF: Discovery of Resources
IIIF: Discovery of ResourcesIIIF: Discovery of Resources
IIIF: Discovery of Resources
 
Reactive Data Access with Spring Data
Reactive Data Access with Spring DataReactive Data Access with Spring Data
Reactive Data Access with Spring Data
 
SDoW2010 keynote
SDoW2010 keynoteSDoW2010 keynote
SDoW2010 keynote
 
Semantic Web, e-commerce
Semantic Web, e-commerceSemantic Web, e-commerce
Semantic Web, e-commerce
 
Metadata Provenance Tutorial at SWIB 13, Part 1
Metadata Provenance Tutorial at SWIB 13, Part 1Metadata Provenance Tutorial at SWIB 13, Part 1
Metadata Provenance Tutorial at SWIB 13, Part 1
 
Open Data and News Analytics Demo
Open Data and News Analytics DemoOpen Data and News Analytics Demo
Open Data and News Analytics Demo
 
Business Schools 2.0
Business Schools 2.0Business Schools 2.0
Business Schools 2.0
 

More from David Newbury

Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
Linked Data on a Budget
Linked Data on a BudgetLinked Data on a Budget
Linked Data on a BudgetDavid Newbury
 
USE ME: progressive integration of IIIF with new software services at the Getty
USE ME: progressive integration of IIIF with new software services at the GettyUSE ME: progressive integration of IIIF with new software services at the Getty
USE ME: progressive integration of IIIF with new software services at the GettyDavid Newbury
 
IIIF Across Platforms | IIIF Community Call, January 2021
IIIF Across Platforms | IIIF Community Call, January 2021IIIF Across Platforms | IIIF Community Call, January 2021
IIIF Across Platforms | IIIF Community Call, January 2021David Newbury
 
IIIF Canvases as First Class Citizens
IIIF Canvases as First Class CitizensIIIF Canvases as First Class Citizens
IIIF Canvases as First Class CitizensDavid Newbury
 
IIIF and Linked Open Data: LODLAM 2020
IIIF and Linked Open Data: LODLAM 2020IIIF and Linked Open Data: LODLAM 2020
IIIF and Linked Open Data: LODLAM 2020David Newbury
 
How to Fail Interdisciplinarily
How to Fail InterdisciplinarilyHow to Fail Interdisciplinarily
How to Fail InterdisciplinarilyDavid Newbury
 
Sharing Data Across Memory Institutions
Sharing Data Across Memory InstitutionsSharing Data Across Memory Institutions
Sharing Data Across Memory InstitutionsDavid Newbury
 
NDSR Learning Enrichment: Data Models and Linked Data
NDSR Learning Enrichment: Data Models and Linked DataNDSR Learning Enrichment: Data Models and Linked Data
NDSR Learning Enrichment: Data Models and Linked DataDavid Newbury
 
Fuzzy Dates & the Digital Humanities
Fuzzy Dates & the Digital HumanitiesFuzzy Dates & the Digital Humanities
Fuzzy Dates & the Digital HumanitiesDavid Newbury
 
Telling Stories with Data: Class Notes 2
Telling Stories with Data:  Class Notes 2Telling Stories with Data:  Class Notes 2
Telling Stories with Data: Class Notes 2David Newbury
 
Telling Stories With Data: Class 1
Telling Stories With Data: Class 1Telling Stories With Data: Class 1
Telling Stories With Data: Class 1David Newbury
 
21st Century Provenance: Lessons Learned Building Art Tracks
21st Century Provenance:  Lessons Learned Building Art Tracks21st Century Provenance:  Lessons Learned Building Art Tracks
21st Century Provenance: Lessons Learned Building Art TracksDavid Newbury
 
Art Tracks: From Provenance to Structured Data
Art Tracks: From Provenance to Structured DataArt Tracks: From Provenance to Structured Data
Art Tracks: From Provenance to Structured DataDavid Newbury
 
Linked Data: Worse is Better
Linked Data:  Worse is BetterLinked Data:  Worse is Better
Linked Data: Worse is BetterDavid Newbury
 
Art Tracks: A technical deep dive.
Art Tracks:  A technical deep dive.Art Tracks:  A technical deep dive.
Art Tracks: A technical deep dive.David Newbury
 
Using Linked Data: American Art Collaborative, Oct. 3, 2016
Using Linked Data:  American Art Collaborative, Oct. 3, 2016Using Linked Data:  American Art Collaborative, Oct. 3, 2016
Using Linked Data: American Art Collaborative, Oct. 3, 2016David Newbury
 
Data 101: Making Charts from Spreadsheets
Data 101: Making Charts from SpreadsheetsData 101: Making Charts from Spreadsheets
Data 101: Making Charts from SpreadsheetsDavid Newbury
 
IIIF For Small Projects
IIIF  For Small ProjectsIIIF  For Small Projects
IIIF For Small ProjectsDavid Newbury
 

More from David Newbury (20)

Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
Linked Data on a Budget
Linked Data on a BudgetLinked Data on a Budget
Linked Data on a Budget
 
USE ME: progressive integration of IIIF with new software services at the Getty
USE ME: progressive integration of IIIF with new software services at the GettyUSE ME: progressive integration of IIIF with new software services at the Getty
USE ME: progressive integration of IIIF with new software services at the Getty
 
IIIF Across Platforms | IIIF Community Call, January 2021
IIIF Across Platforms | IIIF Community Call, January 2021IIIF Across Platforms | IIIF Community Call, January 2021
IIIF Across Platforms | IIIF Community Call, January 2021
 
IIIF Canvases as First Class Citizens
IIIF Canvases as First Class CitizensIIIF Canvases as First Class Citizens
IIIF Canvases as First Class Citizens
 
IIIF and Linked Open Data: LODLAM 2020
IIIF and Linked Open Data: LODLAM 2020IIIF and Linked Open Data: LODLAM 2020
IIIF and Linked Open Data: LODLAM 2020
 
How to Fail Interdisciplinarily
How to Fail InterdisciplinarilyHow to Fail Interdisciplinarily
How to Fail Interdisciplinarily
 
Sharing Data Across Memory Institutions
Sharing Data Across Memory InstitutionsSharing Data Across Memory Institutions
Sharing Data Across Memory Institutions
 
NDSR Learning Enrichment: Data Models and Linked Data
NDSR Learning Enrichment: Data Models and Linked DataNDSR Learning Enrichment: Data Models and Linked Data
NDSR Learning Enrichment: Data Models and Linked Data
 
Fuzzy Dates & the Digital Humanities
Fuzzy Dates & the Digital HumanitiesFuzzy Dates & the Digital Humanities
Fuzzy Dates & the Digital Humanities
 
Telling Stories with Data: Class Notes 2
Telling Stories with Data:  Class Notes 2Telling Stories with Data:  Class Notes 2
Telling Stories with Data: Class Notes 2
 
Telling Stories With Data: Class 1
Telling Stories With Data: Class 1Telling Stories With Data: Class 1
Telling Stories With Data: Class 1
 
21st Century Provenance: Lessons Learned Building Art Tracks
21st Century Provenance:  Lessons Learned Building Art Tracks21st Century Provenance:  Lessons Learned Building Art Tracks
21st Century Provenance: Lessons Learned Building Art Tracks
 
Art Tracks: From Provenance to Structured Data
Art Tracks: From Provenance to Structured DataArt Tracks: From Provenance to Structured Data
Art Tracks: From Provenance to Structured Data
 
Linked Data: Worse is Better
Linked Data:  Worse is BetterLinked Data:  Worse is Better
Linked Data: Worse is Better
 
Understanding D3
Understanding D3Understanding D3
Understanding D3
 
Art Tracks: A technical deep dive.
Art Tracks:  A technical deep dive.Art Tracks:  A technical deep dive.
Art Tracks: A technical deep dive.
 
Using Linked Data: American Art Collaborative, Oct. 3, 2016
Using Linked Data:  American Art Collaborative, Oct. 3, 2016Using Linked Data:  American Art Collaborative, Oct. 3, 2016
Using Linked Data: American Art Collaborative, Oct. 3, 2016
 
Data 101: Making Charts from Spreadsheets
Data 101: Making Charts from SpreadsheetsData 101: Making Charts from Spreadsheets
Data 101: Making Charts from Spreadsheets
 
IIIF For Small Projects
IIIF  For Small ProjectsIIIF  For Small Projects
IIIF For Small Projects
 

Recently uploaded

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 

Recently uploaded (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 

Extending IIIF 3.0

  • 1. Extending IIIF 3.0 2018 IIIF Conference, Washington DC David Newbury, J. Paul Getty Trust @workergnome Extending IIIF 3.0 — David Newbury (@workergnome) 1
  • 2. Triple-eye-eff. The IIIF Presentation API is a data model for arranging virtual canvases, annotating them and providing descriptive content. Extending IIIF 3.0 — David Newbury (@workergnome) 2
  • 3. Triple-eye-eff. I'm not going to talk about images. I'm not going talk about arranging them. Instead, I'm going to talk about metadata. Extending IIIF 3.0 — David Newbury (@workergnome) 3
  • 4. The Paintings, Puppies, & Pustules problem What metadata standard handles meaning across these things? Extending IIIF 3.0 — David Newbury (@workergnome) 4
  • 5. We punted. IIIF is presentational, not semantic. How it looks, not what it means. Extending IIIF 3.0 — David Newbury (@workergnome) 5
  • 6. Properties for People Words, generally. Lots of words. Extending IIIF 3.0 — David Newbury (@workergnome) 6
  • 7. Properties for Software Data that needs to be interpreted by client so!ware. Extending IIIF 3.0 — David Newbury (@workergnome) 7
  • 8. Properties for Robots Explaining to robots what this all means. (Yes, this is semantic. Shhhhh.) Extending IIIF 3.0 — David Newbury (@workergnome) 8
  • 9. What comes out of the box? Extending IIIF 3.0 — David Newbury (@workergnome) 9
  • 10. Presentation Properties for People label A human readable label for the resource. Extending IIIF 3.0 — David Newbury (@workergnome) 10
  • 11. Presentation Properties for People summary A short textual summary of the resource. Extending IIIF 3.0 — David Newbury (@workergnome) 11
  • 12. Presentation Properties for People requiredStatement Text that MUST be displayed. Extending IIIF 3.0 — David Newbury (@workergnome) 12
  • 13. Presentation Properties for People metadata An list of label and value entries. Extending IIIF 3.0 — David Newbury (@workergnome) 13
  • 14. Presentation Properties for Software navDate A date that the client can use for navigation purposes. Extending IIIF 3.0 — David Newbury (@workergnome) 14
  • 15. Presentation Properties for Software rights A URL for a rights statement for the resource's content. Extending IIIF 3.0 — David Newbury (@workergnome) 15
  • 16. Presentation Properties for Software homepage A link to a web page that describes the "Real World Object". Extending IIIF 3.0 — David Newbury (@workergnome) 16
  • 17. Presentation Properties for Software thumbnail An content resource that represents this resource. Extending IIIF 3.0 — David Newbury (@workergnome) 17
  • 18. Presentation Properties for Software logo A small image that represents an individual or organization. Extending IIIF 3.0 — David Newbury (@workergnome) 18
  • 19. Presentation Properties for Software posterCanvas A Canvas-based summary of the resource. Extending IIIF 3.0 — David Newbury (@workergnome) 19
  • 20. That's all you get for embedded properties. Extending IIIF 3.0 — David Newbury (@workergnome) 20
  • 21. That's all you get for embedded properties. You were hoping for more, weren't you. Extending IIIF 3.0 — David Newbury (@workergnome) 21
  • 22. Links & Linked Data External resources & data. Extending IIIF 3.0 — David Newbury (@workergnome) 22
  • 23. Links for People rendering A non-IIIF representation of the resource for humans-- though it might need special so!ware to view! PDFs, OBJ files, ePub files Extending IIIF 3.0 — David Newbury (@workergnome) 23
  • 24. Links for People { "rendering": [{ "id": "https://example.org/1.pdf", "type": "Text", "format": "application/pdf", "label": { "en": [ "PDF Rendering of Book" ] } }] } Extending IIIF 3.0 — David Newbury (@workergnome) 24
  • 25. Links for People "label": Description for people. "format": Description for so!ware. Extending IIIF 3.0 — David Newbury (@workergnome) 25
  • 26. Links for Robots "seeAlso" Related, external datasets. TEI files, RDF data, XML files Extending IIIF 3.0 — David Newbury (@workergnome) 26
  • 27. Links for Robots { "seeAlso": [{ "id": "https://example.org/library/catalog/book1.xml", "type": "Dataset", "format": "text/xml", "profile": "https://example.org/profiles/bibliographic" }] } Extending IIIF 3.0 — David Newbury (@workergnome) 27
  • 28. Links for Robots "profile": How your community's robots recognize this data as relevant. (your community has robots, right?) Extending IIIF 3.0 — David Newbury (@workergnome) 28
  • 29. Links for Software "service" External APIs that so!ware can interact with for new functionality or information. The Image API is common, but there are others. Extending IIIF 3.0 — David Newbury (@workergnome) 29
  • 30. Links for Software { "service": [{ "id": "https://example.org/service", "type": "Service", "profile": "https://example.org/docs/service" }] } Extending IIIF 3.0 — David Newbury (@workergnome) 30
  • 31. Links for Robots You need to know what the service does to use it. Documentation should be available at the profile URL. Extending IIIF 3.0 — David Newbury (@workergnome) 31
  • 32. You want more? (Never satisfied, are you?) Extending IIIF 3.0 — David Newbury (@workergnome) 32
  • 33. Annotations Linking between resources via a motivation. IIIF defines the painting & supplementing motivations, the Web Annotation spec defines others. (clients need to recognize them, though...) Extending IIIF 3.0 — David Newbury (@workergnome) 33
  • 34. Annotations Annotations are the way to provide custom content for people. They're not very good at providing content for so!ware, though. Extending IIIF 3.0 — David Newbury (@workergnome) 34
  • 35. Still not satisfied? You really want custom, semantic, machine-readable properties. Even though IIIF doesn't do that. Extending IIIF 3.0 — David Newbury (@workergnome) 35
  • 36. Do what thou wilt. Extending IIIF 3.0 — David Newbury (@workergnome) 36
  • 37. Custom JSON properties. Other properties are allowed...if a client discovers properties that it does not understand, then it must ignore them. IIIF lets you add new properties. Extending IIIF 3.0 — David Newbury (@workergnome) 37
  • 38. { "@context": [ "http://www.w3.org/ns/anno.jsonld", "http://iiif.io/api/presentation/3/context.json" ], "id": "https://example.org/iiif/custom_props", "type": "Manifest", "lastModified": "2017-12-25" ... } Extending IIIF 3.0 — David Newbury (@workergnome) 38
  • 39. Custom JSON properties. If it’s only your manifests, used by only your so!ware, and nobody else ever uses it... Then maybe it’s ok. That's not very IIIF-y, though. Extending IIIF 3.0 — David Newbury (@workergnome) 39
  • 40. Problems with Custom JSON: — I can't tell that you've used them. — I can't guess what they mean. — I might have used the same property. — IIIF might use the same property. Extending IIIF 3.0 — David Newbury (@workergnome) 40
  • 41. The heart wants what it wants. Extending IIIF 3.0 — David Newbury (@workergnome) 41
  • 42. Fine. You win. IIIF Extensions. Extending IIIF 3.0 — David Newbury (@workergnome) 42
  • 43. IIIF Extension best practices: — Don't reuse existing property names — Indicate you're using a custom property — Use as few properties as possible — Explain what they mean — Share them with the community Extending IIIF 3.0 — David Newbury (@workergnome) 43
  • 44. JSON-LD Contexts No one would accidentally reuse { "http://iiif.davidnewbury.com/lastModified": "2017-12-25" } But, man— is it ugly. Extending IIIF 3.0 — David Newbury (@workergnome) 44
  • 45. JSON-LD Contexts If I host a context.json file... { "@context": { "@version": 1.1, "lastModified": "http://iiif.davidnewbury.com/lastModified" } } Extending IIIF 3.0 — David Newbury (@workergnome) 45
  • 46. JSON-LD Contexts ...and include it into my manifest... { "@context": [ "http://iiif.davidnewbury.com/context.json", "http://www.w3.org/ns/anno.jsonld", "http://iiif.io/api/presentation/3/context.json" ], "id": "https://example.org/iiif/book1/manifest", "lastModified": "2017-12-25", "type": "Manifest", } Extending IIIF 3.0 — David Newbury (@workergnome) 46
  • 47. JSON-LD Contexts ...I can use the pretty name. { "@context": [ "http://iiif.davidnewbury.com/context.json", "http://www.w3.org/ns/anno.jsonld", "http://iiif.io/api/presentation/3/context.json" ], "id": "https://example.org/iiif/book1/manifest", "lastModified": "2017-12-25", "type": "Manifest", } Extending IIIF 3.0 — David Newbury (@workergnome) 47
  • 48. JSON-LD Contexts JSON-LD Contexts do three things: 1. Map property names to URIs 2. Let so!ware know to look for new properties 3. Tell you who created the properties Extending IIIF 3.0 — David Newbury (@workergnome) 48
  • 49. Um...this didn't solve the problem of reusing properties. Extending IIIF 3.0 — David Newbury (@workergnome) 49
  • 50. JSON-LD Scoped Contexts There are only so many good names. A IIIF extension should only claim one property, but many extensions need more than one. Extending IIIF 3.0 — David Newbury (@workergnome) 50
  • 51. JSON-LD Scoped Contexts In JSON-LD 1.1, there's a way to define a context that only applies within a particular property: Scoped Contexts. Extending IIIF 3.0 — David Newbury (@workergnome) 51
  • 52. { "@context": { "@version": 1.1, "lastModified": "http://iiif.davidnewbury.com/lastModified" }} can be used like { "@context": [ "http://iiif.davidnewbury.com/context.json" "http://www.w3.org/ns/anno.jsonld", "http://iiif.io/api/presentation/3/context.json" ], "id": "https://example.org/iiif/book1/manifest", "type": "Manifest", "lastModified": "2017-12-25" } Extending IIIF 3.0 — David Newbury (@workergnome) 52
  • 53. { "@context": { "@version": 1.1, "navPlace": { "@id" : "http://iiif.davidnewbury.com#navPlace", "@context": { "lat": "http://iiif.davidnewbury.com#lat", "lng": "http://iiif.davidnewbury.com#lng" } } } } Extending IIIF 3.0 — David Newbury (@workergnome) 53
  • 55. Documentation properties — type — profile — label Extending IIIF 3.0 — David Newbury (@workergnome) 55
  • 56. This STILL didn't solve the problem of reusing properties. Extending IIIF 3.0 — David Newbury (@workergnome) 56
  • 57. The IIIF Registries Extending IIIF 3.0 — David Newbury (@workergnome) 57