1. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
1
International Image Interoperability Framework
and JSON-LD
Robert Sanderson
azaroth42@gmail.com
azaroth@stanford.edu
@azaroth42 #iiif
Digital Library Systems and Services
Stanford University
http://iiif.io/
2. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
2
Cultural Heritage is Steadily being Digitized
MS Richardson 7, Houghton Library, Harvard University
3. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
3
To What End?
Grain elevators, Caldwell, Idaho, by Lee Russell, 1941. http://www.loc.gov/pictures/resource/fsac.1a34206/
4. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
4
Co-operate?
Grain elevators, Caldwell, Idaho, by Lee Russell, 1941. http://www.loc.gov/pictures/resource/fsac.1a34206/
?
5. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
5
Remember...
https://www.flickr.com/photos/elviskennedy/10382501363/ cc-by-nc-nd
6. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
6
Remember...
https://www.flickr.com/photos/elviskennedy/10382501363/ cc-by-nc-nd
Valuable Content
7. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
7
Remember...
https://www.flickr.com/photos/elviskennedy/10382501363/ cc-by-nc-nd
Valuable Content
Ugly Construction
8. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
8
EU Federation: Europeana
9. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
9
EU Federation: Europeana
10. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
10
From Europeana to Many One-Off Apps
11. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
11
And Out Again...
12. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
12
To Complexity
13. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
13
US Federation: DPLA
14. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
14
US Federation: DPLA
15. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
15
From DPLA to Many One-Off Apps
16. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
16
And Out Again...
17. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
17
To Complexity
18. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
18
US Federation: DPLA
19. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
19
Out to Ege 1 in South Carolina
20. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
20
Meet Otto and Ben
Otto Ege,
20th c. Biblioclast
Ben Albritton
21st c. Manuscript
Scholar
21. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
21
Meet Otto and Ben
Otto Ege,
20th c. Biblioclast
Ben Albritton
21st c. Manuscript
Scholar
22. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
22
Otto Ege MS 1, as of 1940
23. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
23
Remnants of Otto Ege MS 1, as of 2014
24. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
24
Remnants of Otto Ege MS 1, as of 2014
25. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
25
Stanford’s Leaves of Ege MS 1
26. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
26
http://iiif.io/
Global community and framework for sharing and delivering
images, especially for Cultural Heritage, using standard APIs
via jointly developed and supported software.
27. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
27
IIIF Community
• ARTstor
• Bibliothèque Nationale de
France
• Bodleian Libraries, Oxford
University
• British Library
• Cambridge University
• Cornell University
• DPLA
• Europeana
• e-codices
• Harvard University
• Johns Hopkins University
• National Library of Denmark
• National Library of New Zealand
• National Library of Norway
• National Library of Poland
• National Library of Wales
• Princeton University
• St. Louis University
• Stanford University
• Wellcome Trust
• UK National Archives
• Yale University
28. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
28
Two APIs: Image and Presentation
Image API:
http://iiif.io/api/image/2.0/
Two parts: Actual Pixels, Technical Metadata (JSON-LD)
Presentation API:
http://iiif.io/api/presentation/2.0/
Based on Shared Canvas data model (in JSON-LD)
29. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
29
IIIF Image API
Base URL: {scheme}://{host}{/prefix}/{identifier}!
Image Resource:
{base}/{region}/{size}/{rotation}/{quality}.{format}!
!
30. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
30
IIIF Image API
Base URL: {scheme}://{host}{/prefix}/{identifier}!
Image Resource:
{base}/{region}/{size}/{rotation}/{quality}.{format}!
!
31. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
31
IIIF Image API
Base URL: {scheme}://{host}{/prefix}/{identifier}!
Image Resource:
{base}/{region}/{size}/{rotation}/{quality}.{format}!
!
32. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
32
IIIF Image API
Base URL: {scheme}://{host}{/prefix}/{identifier}!
Image Resource:
{base}/{region}/{size}/{rotation}/{quality}.{format}!
!
33. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
33
IIIF Image API
Base URL: {scheme}://{host}{/prefix}/{identifier}!
Image Resource:
{base}/{region}/{size}/{rotation}/{quality}.{format}!
!
34. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
34
IIIF Image API
Base URL: {scheme}://{host}{/prefix}/{identifier}!
Image Resource:
{base}/{region}/{size}/{rotation}/{quality}.{format}!
!
35. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
35
IIIF Image API: Region
Image Resource:
{base}/{region}/{size}/{rotation}/{quality}.{format}!
!
!
• Full Image:
{base}/full/full/0/default.jpg!
!
• Area by Pixels:
{base}/100,100,640,480/full/0/default.jpg!
!
• Area by Percentage:
{base}/pct:50,50,33,33/full/0/default.jpg!
36. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
36
IIIF Image API: Size
Image Resource:
{base}/{region}/{size}/{rotation}/{quality}.{format}!
!
• Full Image:
{base}/full/full/0/default.jpg!
• Size by Pixels, forced aspect:
{base}/full/640,480/0/default.jpg!
• Size by Pixels, aspect preserved:
{base}/full/!640,480/0/default.jpg!
• Size by Percentage:
{base}/full/pct:50/0/default.jpg!
• Size by Width, or by Height: !
{base}/full/,480/0/default.jpg!
{base}/full/640,/0/default.jpg !
37. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
37
IIIF Image API: Rotation
Image Resource:
{base}/{region}/{size}/{rotation}/{quality}.{format}!
!
• Full Image:
{base}/full/full/0/default.jpg!
!
• 90 degree Rotation:
{base}/full/full/90/default.jpg!
{base}/full/full/180/default.jpg!
!
• Arbitrary Rotation:
{base}/full/full/27.6/default.jpg
!
• Mirroring:
{base}/full/full/!0/default.jpg!
!
!
!
38. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
38
IIIF Image API: Quality
Image Resource:
{base}/{region}/{size}/{rotation}/{quality}.{format}!
!
• Full Image:
{base}/full/full/0/default.jpg!
!
• Explicit Option:
{base}/full/full/0/color.jpg!
{base}/full/full/0/gray.jpg!
{base}/full/full/0/bitonal.jpg!
!
!
39. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
39
IIIF Image API: Format
Image Resource:
{base}/{region}/{size}/{rotation}/{quality}.{format}!
!
• Full Image:
{base}/full/full/0/default.jpg!
!
• Other Options:
{base}/full/full/0/default.png!
{base}/full/full/0/default.tif!
{base}/full/full/0/default.gif!
{base}/full/full/0/default.jp2!
{base}/full/full/0/default.pdf!
{base}/full/full/0/default.webp!
!
!
!
40. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
40
2.0 Implementations
Image Server: Loris
https://github.com/pulibrary/loris
Viewer: Open Seadragon
https://github.com/openseadragon/openseadragon
Demo:
http://libimages.princeton.edu/osd-demo/?
feedme=pudl0123%2F8172070%2F01%2F00000001.jp2
1.1 Implementations:
Server: Loris, IIPserver, Freelib-Djatoka, RIIIF, Pi3f, ...
Viewer: Open Seadragon, Wellcome Trust Player, TsangDragon, ...
41. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
41
Development Infrastructure
Reference Implementation:
https://iiif.io/api/image/2.0/example/reference/
67352ccc-d1b0-11e1-89ae-279075081939
Server Validator:
http://iiif.io/api/image/validator/
Server Shims:
ContentDM
Chronicling America
Cloudinary
Djatoka
Luratech ICS
FSI Image Server
42. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
42
IIIF Image API: Technical Info
Information Resource, in JSON-LD:
{base}/info.json!
!
!
!
!
!
{!
"@context": "http://iiif.io/api/image/2/context.json",!
"@id": "http://www.example.org/iiif/book1-p1",!
"height": 6000,!
"width": 4000,!
"tiles": [{"scale_factors": [ 1, 2, 4, 8 ], "width": 512}],!
"sizes": [{"width": 400, "height": 600},!
{"width": 2000, "height": 3000}!
],!
"profile": ["http://iiif.io/api/image/2/level2.json",!
{"formats": ["pdf", "gif"],!
"qualities": ["color", "gray"]}!
]!
}!
!
!
!
43. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
43
"RDF/XML was the Semantic Web's 3 Mile Island"
Manu Sporny, http://manu.sporny.org/2012/nuclear-rdf/
by Z22 - http://commons.wikimedia.org/wiki/File:Three_Mile_Island_Nuclear_Generating_Station_Unit_2.jpg
44. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
44
"RDF/XML was the Semantic Web's 3 Mile Island"
Cleaning Up the Mess:
Stop talking about RDF
Focus on tools
Focus on developers
More "Dogfooding"
JSON-LD
http://json-ld.org/
John G. Kemeny et al. http://commons.wikimedia.org/wiki/File:TMI_cleanup-2.jpg
45. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
45
http://json-ld.org/
• Uses popular JSON format
• Uses regular JSON idioms
• Can often use existing JSON formats without change
• Maps into RDF using a "context" definition
46. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
46
JSON-LD Basics
• {} is a node in the graph
• @id key gives the subject, omit to create a blank node
• Other keys are predicates, values are objects
{!
"@id": "http://stanford.edu/~azaroth/#me",!
"label": "Rob Sanderson", !
"height": 183!
}!
Remember kids, curly brackets are the new angle brackets.
47. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
47
JSON-LD Basics
• @type gives the class (rdf:type)
• New nodes are chained inline
{!
"@id": "http://stanford.edu/~azaroth/#me",!
"@type": "Person",!
"label": "Rob Sanderson", !
"hasPet": {!
"@id": "http://stanford.edu/~azaroth/miya/#cat",!
"@type": "Cat",!
"height": 40!
}!
}!
48. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
48
JSON-LD
• Lists are multiple instances of a predicate
• ... or an rdf:List
• Can collapse @id to just a string
{!
"@id": "http://stanford.edu/~azaroth/#me",!
"@type": "Person",!
"label": ["Rob Sanderson", "Robert Sanderson"], !
"playlist": [!
"http://music.example.com/songs/1.mp3",!
"http://music.example.com/songs/2.mp3",!
"http://music.example.com/songs/3.mp3"!
]!
}!
49. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
49
Magic????
• @context provides a mapping to RDF
• Can define prefixes and predicates
{!
"@context": {!
"foaf": "http://xmlns.com/foaf/0.1/",!
"rdfs": "http://www.w3.org/2000/01/rdf-schema#",!
"Person": "foaf:Person",!
"label": "rdfs:label"!
},!
"@id": "http://stanford.edu/~azaroth/#me",!
"@type": "Person",!
"label": "Rob Sanderson"!
}!
50. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
50
Magic????
• Can define the expected type of object
{!
"@context": {!
"foaf": "http://xmlns.com/foaf/0.1/",!
"Person": "foaf:Person",!
"hasPet": {!
"@id": "http://example.com/ns/hasPet",!
"@type": "@id"!
}!
},!
"@id": "http://stanford.edu/~azaroth/#me",!
"@type": "Person",!
"hasPet": "http://stanford.edu/~azaroth/miya/#cat"!
}!
51. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
51
Magic????
• Can define the meaning of a JSON list
• Can redefine properties without changing representation
{!
"@context": {!
"playlist": {!
"@id": "http://eg.com/ns/hasPlaylist",!
"@type": "@id",!
"@container": "@list"!
},!
"label": "http://xmlns.com/foaf/0.1/name"!
},!
"@id": "http://stanford.edu/~azaroth/#me",!
"label": ["Rob Sanderson", "Robert Sanderson"],!
"playlist": ["..."]!
}!
52. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
52
Magic????
• Context can be external (and thus shared)
!
{ !
"@context":"http://iiif.io/api/image/2/context.json",!
"@id": "http://www.example.org/iiif/book1-p1",!
"height": 6000,!
"width": 4000,!
"tiles": [{"scale_factors": [1, 2, 4, 8], "width": 512}],!
"sizes": [{"width": 400, "height": 600},!
{"width": 2000, "height": 3000}],!
"profile": ["http://iiif.io/api/image/2/level2.json",!
{"formats": ["pdf", "gif"],!
"qualities": ["color", "gray"]}!
]!
}!
53. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
53
IIIF Presentation API
Just enough metadata to support a client presenting the digital
Cultural Heritage Object for the user to understand what she is
interacting with
Why “Presentation API”?
• NOT a[nother] full semantic, bibliographic metadata “standard”
• NOT (necessarily) an internal format: transform into it
• Linked Open Data (JSON-LD)
• Rationalization of (abstract) Shared Canvas data model
• Full support for annotation via Open Annotation
• http://iiif.io/api/presentation/2.0/
54. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
54
Shared Canvas
• A Canvas is an empty space in which to build up a display
55. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
55
Shared Canvas
• A Canvas is an empty space in which to build up a display
• A SharedCanvas's top left and bottom right corners correspond to
the equivalent corners of a page
56. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
56
Shared Canvas / Open Annotation
• Annotation links Image with Canvas
57. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
57
Shared Canvas / Open Annotation
• Annotation links Text with Canvas
58. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
58
Shared Canvas / Open Annotation
59. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
59
Benefits of Canvas Notion
Multiple Images of same page
• Multi-spectral imaging, multiple digitizations, …
Archimedes Palimpsest Multi-Spectral Images
http://www.archimedespalimpsest.org/
60. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
60
Benefits of Canvas Notion
No image of the page
• Hypothetical, lost, too fragile to digitize, …
This page intentionally,
but unfortunately,
left blank
Countless manuscripts, all around the world!
61. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
61
Benefits of Canvas Notion
Partial images
• Fragments of page, details in high resolution, …
62. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
62
Benefits of Canvas Notion
Non Image and External content
• Text – transcription, translation, edition, …
• Non-text transcription: diagrams, music
• Non text performance: audio, video
63. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
63
Shared Canvas: Primary Resources
64. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
64
Shared Canvas: All Resources
65. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
65
IIIF Presentation API: JSON-LD
{!
"@context":"http://iiif.io/api/presentation/2/context.json",!
"@id":"http://www.example.org/iiif/book1/canvas/p1.json",!
"@type":"sc:Canvas”,!
"label":"p. 1”,!
"height":1000,!
"width":750,!
"images": [!
{"@type":"oa:Annotation”,!
// annotation linking image to canvas …!
}],!
"other_content": [!
{"@type":"sc:AnnotationList",!
// reference to list of non-image annotations …!
}]!
} !
!
!
66. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
66
Development Infrastructure
Reference Sets:
https://iiif.io/api/presentation/2.0/example/fixtures/collection.json
https://iiif.io/api/presentation/2.0/example/errors/collection.json
Validator:
http://iiif.io/api/presentation/validator/
Implementation Library:
https://github.com/IIIF/presentation-api/tree/master/implementations/
manifest-factory
Shims:
ContentDM
Chronicling America
METS [+ALTO]
67. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
67
Open Annotation: Community Group
Established W3C Community Group in 2011
Currently 5th Largest of 177 groups: 128 participants
Today is final day for Annotation Working Group charter review!
http://www.w3.org/community/openannotation/
Interoperability between Annotation systems and platforms, by
…following the Architecture of the Web
…reusing existing web standards
…providing a single, coherent model to implement
…which is orthogonal to the domain of interest
…without requiring adoption of specific platforms
…while maintaining low implementation costs
Mission:
68. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
68
Open Annotation: Basic Data Model
http://www.openannotation.org/spec/core/
69. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
69
Technical Demo: Mise-en-Page
70. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
70
Mirador
71. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
71
Mirador2
72. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
72
Wellcome Player
73. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
73
Remnants of Otto Ege MS 1, as of 2014
74. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
74
Otto Ege MS 1, Reconstructed, in 2014
75. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
75
Otto Ege MS 1, Reconstructed, in 2014
76. IIIF and JSON-LD
LODLAM Training Day, SemTechBiz, San Jose CA, 19th of August 2014
76
Thank You
Robert Sanderson
azaroth42@gmail.com
azaroth@stanford.edu
@azaroth42
Web: http://iiif.io/
http://www.openannotation.org/
Slides: http://www.slideshare.net/
azaroth42/ ...