IIIF Presentation API

Die Metadaten eines Teils von über Memobase verfügbaren Dokumenten werden ebenfalls als sog. IIIF Manifeste angeboten, was eine Einbindung dieser Dokumente auf Drittsystemen möglich macht.

IIIF

Das International Image Interoperability Framework (IIIF) umfasst eine Reihe von Standards (APIs) zur Beschreibung, Auslieferung und Darstellung von Bild- und anderen Mediendaten. Spezialisierte Viewer können so unabhängig von UIs der Institution, die über die Daten verfügt, die Medien und ihre Mediendaten anzeigen und miteinander in Beziehung setzen.

Memobase implementiert die zwei wichtigsten der IIIF-APIs, die Image API sowie die Presentation API. Erstere spezifiziert einen Webservice, welche Bilder via HTTP ausliefern kann. Mittels Parametern in der entsprechenden URI können Grösse, Rotation, Ausschnitt, Farbe, Qualität und Format des Bildes definiert werden.

Die Presentation API spezifiziert einen Webservice, welcher inhaltliche und strukturelle Metadaten zu Objekten in Form von JSON-LD-Dokumenten (sog. Manifesten) zur Verfügung stellt. Die URI zu einem validen und vollständigen Manifest ermöglicht es einem IIIF-Viewer, ein Dokument mit seinen Metadaten darzustellen. Im Fall von Memobase werden Manifeste in der Version 2 und 3 angeboten.

Nutzung

Der Zugang zu einem Memobase-Dokument erfolgt über die URI zu seinem Manifest. Da im Moment diese URIs noch nicht über das Frontend zur Verfügung stehen, müssen sie auf Grund eines Dokumenten-Identifier manuell erstellt werden:

  1. Dokument via Frontend oder RestAPI identifizieren. Bsp.: https://memobase.ch/de/object/smi-001-011510.

  2. Identifier mit einem -1 ergänzen (das ist notwendig, weil sich das Manifest strenggenommen nicht auf das Dokument, sondern nur auf das digitale Objekt bezieht, welches aus technischen Gründen mit einer Laufnummer versehen ist). Im Beispiel ist das also smi-001-011510-1.

  3. Diesen Identifier für den Manifest-Service unter https://iiif.memobase.ch/iiif/ verwenden. Im Beispiel: https://iiif.memobase.ch/iiif/smi-001-011510-1/v2 (für Manifeste in der Version 2) und https://iiif.memobase.ch/iiif/smi-001-011510-1/v3 (für Manifeste in der Version 3).

Einschränkungen

Nicht zu allen Dokumenten wird in Memobase ein Manifest generiert. Es gelten folgende Einschränkungen:

  • Eine digitale Ressource zum Dokument ist vorhanden und kann in Memobase eingebunden werden (Dokument ist nicht onsite oder noonsite)

  • Das Dokument ist publiziert und öffentlich zugänglich (d.h. nicht Memobase+)

  • Es handelt sich um eine Bildressource oder die Ressource kann ohne externen Player abgespielt werden, wobei für Nicht-Bildressourcen nur ein Manifest der Version 3 erstellt wird (Version 2 unterstützt nur die Beschreibung von Bildern)

  • Im Moment werden keine Collections gemäss IIIF Presentation API v2/v3 generiert

IIIF Presentation API 2 ↔︎ Memobase-Datenmodell

IIIF Presentation Resources

Die Basisressourcen der IIIF Presentation API v2.1 haben folgende Entsprechungen im Memobase-Datenmodell

  • Manifest ↔︎ Record

  • Sequence ↔︎ Keine Entsprechung im Memobase-Datenmodell, dient als Container für das einzelne Canvas

  • Canvas ↔︎ Keine Entsprechung im Memobase-Datenmodell, dient als Container für den Content

  • Image Resource ↔︎ Digitales Objekt

IIIF Presentation Properties

Die folgende Tabelle gibt Auskunft über das detaillierte Mapping zwischen Memobase RDF Datenmodell und IIIF-Ressourcentypen. Ein grünes Feld bedeutet dabei das Erstellen des entsprechenden Feldes im IIIF-Dokument, ein Oranges eine mögliche Erweiterung zu einem späteren Zeitpunkt, ein Rotes schliesslich eine Inkompatibilität zwischen entsprechenden Feld und Ressourcentyp.

IIIF Properties

Manifest

Sequence

Canvas

Image Resource

IIIF Properties

Manifest

Sequence

Canvas

Image Resource

label

record → rico:title

Keine Entsprechung

Immer digitalObject

Redundant, da nur ein Bild pro Manifest

metadata

  • rico:descriptiveNote

  • rico:scopeAndContent

  • rico:hasPublisher → rico:name

  • rdau:P60556 (place of capture)

  • dct:spatial → rico:name

  • dct:hasLanguage → rico:name

  • recordSet → rico:title

  • rico:recordResourceOrInstantiationIsSourceOfCreationRelation → rico:name + rico:creationRelationHasTarget → rico:name

  • rdau:P60441 → rico:name (producer)

Keine Entsprechung

Keine Entsprechung

digitalObject → edm:componentColor (key: componentColor, value: Liste)

description

record → dct:abstract

Keine Entsprechung

Keine Entsprechung

digitalObject → ebucore:mediaResourceDescription

thumbnail

Redundant

Redundant

Redundant

Für Bilder werden keine separaten Thumbnails erstellt

attribution

  • record → rico:conditionsOfUse

  • record -> rico:isOrWasRegulatedBy -> (type holder) -> rico:name

Vermutlich redundant (vgl. license)

Vermutlich redundant (vgl. license)

Vermutlich redundant (vgl. license)

license

Redundant

Redundant

Redundant

digitalObject -> rico:isOrWasRegulatedBy -> (type usage) -> rico:name

logo

recordSet → rico:heldBy → wdt:P154

Redundant

Redundant

Redundant

@id

URI zum Manifest (dereferenzierbar) in der Form {scheme}://{host}/{prefix}/{identifier}/manifest

URI zur Sequence (nicht dereferenzierbar) in der Form {scheme}://{host}/{prefix}/{identifier}/sequence/{name}, wobei name = default

URI zur Sequence (nicht dereferenzierbar) in der Form {scheme}://{host}/{prefix}/{identifier}/canvas/{name}, wobei name = default

URI zur Datei (via Medienserver)

@type

Immer sc:Manifest

Immer sc:Sequence

Immer sc:Canvas

Immer dctypes:Image

format

 

 

 

digitalObject → ebucore:hasMimeType

height

 

 

digitalObject → ebucore:height

digitalObject → ebucore:height

width

 

 

digitalObject → ebucore:width

digitalObject → ebucore:width

viewingDirection

Im Moment sinnlos, da nur ein Canvas / Bild

Im Moment sinnlos, da nur ein Canvas / Bild

 

 

viewingHint

Immer individuals

Immer individuals

Obsolet, wenn sequence nicht gleich paged

 

navDate

record → dct:created

 

 

 

related

Keine entsprechenden Informationen vorhanden

Keine entsprechenden Informationen vorhanden

Keine entsprechenden Informationen vorhanden

Keine entsprechenden Informationen vorhanden

rendering

Link zur Objektseite

Redundant

Redundant

Redundant

service

Im Moment unnötig

Im Moment unnötig

Im Moment unnötig

Im Moment unnötig

seeAlso

Keine entsprechenden Memobase-Ressourcen vorhanden

Keine entsprechenden Memobase-Ressourcen vorhanden

Keine entsprechenden Memobase-Ressourcen vorhanden

Keine entsprechenden Memobase-Ressourcen vorhanden

within

Im Moment unnötig

Im Moment unnötig

Im Moment unnötig

Im Moment unnötig

startCanvas

 

Im Moment sinnlos, da nur ein Canvas vorhanden

 

 

contentLayer

 

 

 

 

first

 

 

 

 

last

 

 

 

 

total

 

 

 

 

next

 

 

 

 

prev

 

 

 

 

startIndex

 

 

 

 

IIIF Presentation API 3 ↔︎ Memobase-Datenmodell

IIIF Presentation Resources

Grün hinterlegte Ressourcen werden in Memobase-Manifesten verwendet

IIIF Presentation Properties

Farbcodierung:

  • Grün: Property wird mit Metadaten aus Memobase-Dokumenten befüllt

  • Orange: Property wird nicht mit Metadaten aus Memobase-Dokumenten befüllt

  • Rot: IIIF-Presentation-Standard sieht das Feld auf der Ressource nicht vor

IIIF Properties

Manifest

Canvas

Annotation

Content Resource

IIIF Properties

Manifest

Canvas

Annotation

Content Resource

label

record → rico:title

Redundant

Redundant

Redundant

metadata

  • rico:descriptiveNote

  • rico:scopeAndContent

  • record -> dct:created

  • rico:hasPublisher → rico:name

  • rdau:P60556 (place of capture)

  • dct:spatial → rico:name

  • dct:hasLanguage → rico:name

  • recordSet → rico:title

  • rico:recordResourceOrInstantiationIsSourceOfCreationRelation → rico:name + rico:creationRelationHasTarget → rico:name

  • rdau:P60441 → rico:name (producer)

Keine Entsprechung

Keine Entsprechung

digitalObject → edm:componentColor (key: componentColor, value: Liste)

summary

record -> dct:abstract

Redundant

Redundant

digitalObject → ebucore:mediaResourceDescription

requiredStatement

Redundant

Redundant

Redundant

Rechte und Rechtehalter: digitalObject -> rico:isOrWasRegulatedBy -> (type usage) -> rico:sameAs und digitalObject -> rico:isOrWasRegulatedBy -> (type holder) -> rico:name

rights

Redundant

Redundant

Redundant

digitalObject -> rico:isOrWasRegulatedBy -> (type usage) -> rico:sameAs

navDate

Redundant

Entstehungsdatum in Metadaten nicht einheitlich

 

 

language

 

 

 

Entfällt für Ressourcen, welche von einer Annotation referenziert werden

provider

Institution:

  • id: record -> rico:hasOrHadHolder -> @id (Präfix entfernen)

  • label: (=id, faute de mieux…)

  • homepage: Memobase-Seite

Redundant

Redundant

Redundant

thumbnail

Redundant

Thumbnail-Canvas (nur Bild und Video)

Redundant

Redundant

placeholderCanvas

Poster-Canvas (nur Video)

Redundant

 

 

accompanyingCanvas

Keine entsprechende Memobase-Ressource vorhanden

Redundant

 

 

id

{scheme}://{host}/{prefix}/{identifier}/manifest (dereferenzierbar)

{scheme}://{host}/{prefix}/{identifier}/canvas/{default or placeholder} (nicht dereferenzierbar)

{scheme}://{host}/{prefix}/{identifier}/annotation/{default or placeholder} (nicht dereferenzierbar)

URI zur Datei (via Medienserver); wird generiert auf Grundlage von ID

type

Manifest

Canvas

Annotation

  • Audio: Sound

  • Bild: Image

  • Video: Video

format

 

 

 

digitalObject → ebucore:hasMimeType

profile

 

 

 

Keine weitere Spezifizierung notwendig

height

 

Redundant

 

(nur Bild und Video): digitalObject -> ebucore:height

width

 

Redundant

 

(nur Bild und Video): digitalObject -> ebucore:width

duration

 

 

 

(nur Audio und Video): digitalObject -> ebucore:duration

viewingDirection

Enfällt, da 1:1 Beziehung zwischen Manifest und Canvas

 

 

 

behavior

no-auto-advance, non-paged, individuals

no-auto-advance, non-paged

Keine relevanten Werte für Content Resources in Standard für Anwendungsfall definiert

Keine relevanten Werte für Content Resources in Standard für Anwendungsfall definiert

timeMode

 

 

Verwendet Standardwert (trim)

 

seeAlso

Keine entsprechenden Memobase-Ressourcen vorhanden

Keine entsprechenden Memobase-Ressourcen vorhanden

Keine entsprechenden Memobase-Ressourcen vorhanden

Keine entsprechenden Memobase-Ressourcen vorhanden

service

Kein entsprechender Memobase-Service vorhanden

Kein entsprechender Memobase-Service vorhanden

Kein entsprechender Memobase-Service vorhanden

Kein entsprechender Memobase-Service vorhanden

homepage

  • id: https://memobase.ch, https://stage.memobase.ch oder https://test.memobase.ch

  • type: Text

  • label: MEMOBASE von Memoriav, MEMOBASE de Memoriav, MEMOBASE di Memoriav

  • format: text/html

  • language: de, fr und it

Redundant

Redundant

Redundant

rendering

Keine entsprechenden Memobase-Ressourcen vorhanden

Keine entsprechenden Memobase-Ressourcen vorhanden

Keine entsprechenden Memobase-Ressourcen vorhanden

Keine entsprechenden Memobase-Ressourcen vorhanden

partOf

Keine externen Referenzen auf IIIF-Ressourcen

Keine externen Referenzen auf IIIF-Ressourcen

Keine externen Referenzen auf IIIF-Ressourcen

Keine externen Referenzen auf IIIF-Ressourcen

start

Enfällt, da 1:1 Beziehung zwischen Manifest und Canvas

 

 

 

supplementary

 

 

 

 

services

Kein entsprechender Memobase-Service vorhanden