Post-Processing

Import Process Bridge

Die Import Process Bridge überführt die Daten in eine JSON-LD-Struktur, welche von den nachfolgenden Services für die verschiedenen Endpoints aufbereitet wird. Sie ist damit das Bindeglied zwischen dem ersten Teil des Import-Workflows, welcher ursprünglich als einzigen Endpoint das Fedora-Repository hatte, und dem zweiten Teil - dem “Post-Processing”, der als Quelle die in Fedora gespeicherten Daten hatte. Die Import Process Bridge existiert für alle drei Importworkflows - Dokumente, Bestände und Institutionen.

Code Repository

IIIF-Manifest-Generierung

Die IIIF-Manifest-Generierung besteht aus zwei Services - IIIF Manifest Creator und IIIF Manifest Ingester. Der erste ist zuständig für die Erstellung der Manifeste, der zweite für die Indexierung in die MariaDB-Datenbank, wo sie vom Medienserver ausgelesen werden können. Der Creator-Service ist so angelegt, dass er grundsätzlich Manifeste gemäss der IIIF Presentation API v2.1 und auch der aktuellen v3 erstellen kann. Allerdings fehlt bisher noch die Implementation für Letztere, da bislang noch keine produktive Bibliothek zur Erstellung der Manifeste gemäss v3 für die Java Virtual Machine existiert (Stand Herbst 2020).

Media Metadata Ingest

Der mediametadatatodb Service indexiert die Medienmetadaten zu Handen des Medienserver in eine MariaDB-Datenbank. Neben dem Link zur Medienressource werden verschiedene technische Metadaten (Breite, Höhe, Abspieldauer, MIME-Type), Zugang (public / closed), Zugangsart (per redirect oder proxy) sowie der benötigte Playertyp (lokaler Player vs. verschiedene externe Players) festgehalten.

Code Repository

Medienobjekt-Konversion

Der Media Converter kopiert Mediendateien vom sFTP-Server auf ein in Kubernetes eingehängtes Medienverzeichnis, welches vom Medienserver und vom Bildserver zur Auslieferung der lokalen Medienressourcen genutzt wird. Je nach Medientyp konvertiert er darüber hinaus die Daten in ein geeigneteres Dateiformat:

  • Bilddateien (jpg, png): Keine Konversion

  • Videodateien: Keine Konversion

  • Audiodateien: Umverpackung des Inhalts in einen mpeg4-Container, welche für das Streaming geeignetere Eigenschaften besitzt.

Für die Identifikation der Mediendateien auf dem sFTP-Server nutzt der Media Converter einen auf dem sFTP-Host laufenden Service (Media File Distributor), welcher eine effiziente Identifikation von Dateien basierend auf der Dokumenten-ID zulässt.

EDM-Transformation

Wie bei der Transformation der Daten für den Suchindex sind die Memobase RDF Metadaten die Grundlage für die Datenpipeline. Zielformat ist das von Europeana definierte EDM Format. Obwohl sowohl Ausgangs- als auch Zielformat in RDF abgebildet werden, unterscheiden sie sich stark voneinander. Kommt hinzu, dass Memobase RDF in JSON-LD serialisiert wird, EDM RDF jedoch zwingend in RDF-XML serialisiert werden muss.

Die durch die Datenpipeline erstellten EDM RDF-XML Dokumente werden im Elasticsearch-Index indexiert (siehe unten Metadaten Ingest). Der Elasticsearch-Index (Indexname oai-v*) ist dann die Grundlage für die OAI Schnittstelle (siehe die Beispielabfrage mit verb ListRecords und einem Set, welches für Europeana erstellt wurde).

Das Mapping der Daten zwischen Memobase RDF und EDM ist aufwendig und benötigt neben den RiCO-Daten weitere Informationen aus den Suchindizes für Institutionen und Bestände. Aus diesen Gründen wurde das Mapping nicht als ad-hoc-Transformation in die OAI-Schittstelle verlegt (wie dies früher bspw. in swissbib SRU gemacht wurde). In anderen, nicht-EDM-bezogenen Fällen kann diese Methode angepasst werden - bspw. indem direkt Memobase RDF in einer XML-Serialisierung ausgeliefert wird.

Suchindex-Transformation

Dieser Service wird verwendet, um die Memobase RDF Metadaten in einen von drei Suchindizes umzuwandeln. Der Dienst verwendet benutzerdefinierte Filter und Transformationslogik, um die RDF-Daten in ein flaches JSON-Dokument umzuwandeln, das einfach für die Suche verwendet werden kann. Der Grund dafür ist, dass die Komplexität des RDF-Modells es komplizierter macht, die Daten direkt für die Suche zu verwenden, und daher eine Reihe von Transformationen dafür notwendig sind. Dies gilt insbesondere auch für die Vorbereitung der Daten für die Facetten.

Metadaten Ingest (in Elasticsearch)

Dieser Service akzeptiert Metadaten im JSON format und indexiert diese in Elasticsearch. Der Service ist optimiert, damit möglichst viele Dokumente gleichzeitig indexiert werden können.