SlideShare a Scribd company logo
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 Kaya
Future Insights
 
Digital Manuscripts Toolkit
Digital Manuscripts ToolkitDigital Manuscripts Toolkit
Digital Manuscripts Toolkit
Monica Messaggi Kaya
 
Web 30 and RSS
Web 30 and RSSWeb 30 and RSS
Web 30 and RSS
Helmut Doll
 
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 Data
David Newbury
 
final ppt.pptx
final ppt.pptxfinal ppt.pptx
final ppt.pptx
shwetachanchlani
 
final ppt.pptx
final ppt.pptxfinal ppt.pptx
final ppt.pptx
shwetachanchlani
 
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 ROR
Dhaval 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_pub
Stephen 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.0
Michael Habib
 
Talent Bin
Talent BinTalent Bin
Talent Bin
Ryan Gum
 
Talentbin Sales Deck
Talentbin Sales DeckTalentbin Sales Deck
Talentbin Sales Deck
Vishal Kumar
 
IIIF: Discovery of Resources
IIIF: Discovery of ResourcesIIIF: Discovery of Resources
IIIF: Discovery of Resources
Robert Sanderson
 
Reactive Data Access with Spring Data
Reactive Data Access with Spring DataReactive Data Access with Spring Data
Reactive Data Access with Spring Data
VMware Tanzu
 
SDoW2010 keynote
SDoW2010 keynoteSDoW2010 keynote
SDoW2010 keynote
The Open University
 
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
Kai Eckert
 
Open Data and News Analytics Demo
Open Data and News Analytics DemoOpen Data and News Analytics Demo
Open Data and News Analytics Demo
Ontotext
 
Structure, Personalization, Scale: A Deep Dive into LinkedIn Search
Structure, Personalization, Scale: A Deep Dive into LinkedIn SearchStructure, Personalization, Scale: A Deep Dive into LinkedIn Search
Structure, Personalization, Scale: A Deep Dive into LinkedIn Search
C4Media
 

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
 
Talent Bin
Talent BinTalent Bin
Talent Bin
 
Talentbin Sales Deck
Talentbin Sales DeckTalentbin Sales Deck
Talentbin Sales Deck
 
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
 
Structure, Personalization, Scale: A Deep Dive into LinkedIn Search
Structure, Personalization, Scale: A Deep Dive into LinkedIn SearchStructure, Personalization, Scale: A Deep Dive into LinkedIn Search
Structure, Personalization, Scale: A Deep Dive into LinkedIn Search
 

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 Ontologies
David Newbury
 
Linked Data on a Budget
Linked Data on a BudgetLinked Data on a Budget
Linked Data on a Budget
David 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 Getty
David 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 2021
David Newbury
 
IIIF Canvases as First Class Citizens
IIIF Canvases as First Class CitizensIIIF Canvases as First Class Citizens
IIIF Canvases as First Class Citizens
David 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 2020
David Newbury
 
How to Fail Interdisciplinarily
How to Fail InterdisciplinarilyHow to Fail Interdisciplinarily
How to Fail Interdisciplinarily
David Newbury
 
Sharing Data Across Memory Institutions
Sharing Data Across Memory InstitutionsSharing Data Across Memory Institutions
Sharing Data Across Memory Institutions
David 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 Data
David Newbury
 
Fuzzy Dates & the Digital Humanities
Fuzzy Dates & the Digital HumanitiesFuzzy Dates & the Digital Humanities
Fuzzy Dates & the Digital Humanities
David 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 2
David Newbury
 
Telling Stories With Data: Class 1
Telling Stories With Data: Class 1Telling Stories With Data: Class 1
Telling Stories With Data: Class 1
David 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 Tracks
David 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 Data
David Newbury
 
Linked Data: Worse is Better
Linked Data:  Worse is BetterLinked Data:  Worse is Better
Linked Data: Worse is Better
David Newbury
 
Understanding D3
Understanding D3Understanding D3
Understanding D3
David 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, 2016
David Newbury
 
Data 101: Making Charts from Spreadsheets
Data 101: Making Charts from SpreadsheetsData 101: Making Charts from Spreadsheets
Data 101: Making Charts from Spreadsheets
David Newbury
 
IIIF For Small Projects
IIIF  For Small ProjectsIIIF  For Small Projects
IIIF For Small Projects
David 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

By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
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
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
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
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
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
 
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
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
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
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
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
 

Recently uploaded (20)

By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
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)
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
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™
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
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
 
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
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
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
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
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
 

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