Umwandlung von Metadaten mit Catmandu

von Tim Friedrich

LibreCat & Catmandu (Quelle: LibreCat)

Für Bibliotheken ist MARC ein weitverbreitetes Austauschformat. Wie kann man bibliographische Daten in dieses Format umwandeln? In diesem Projekt wurde dies exemplarisch mit dem Tool Catmandu und den Daten des Fernleihindex des hbz durchgeführt.

Das Ziel war es, die wichtigsten Metadatenfelder aus dem hbz-FIX (Fernleihindex des hbz) zu MARC zu mappen, damit diese perspektivisch in den GVI (Gemeinsamer Verbünde-Index) eingespielt werden können. Der GVI ist ein Gemeinschaftsprojekt aller Bibliotheksverbünde und enthält die Daten dieser und der DNB sowie der ZDB. Der hbz-FIX enthält die Daten von Öffentlichen, Hochschul- und Spezialbibliotheken, welche für eine Einspielung zu MARC umgewandelt werden sollen. Das Projekt lief von März bis Juli 2020 und die Projektbetreuerin war Petra Maier (MALIS).

Catmandu ist ein flexibles Tool, um Metadaten zu bearbeiten. Es ist Open Source und funktioniert auf Kommandozeilenbasis. Um Catmandu zu benutzen, wurde eine virtuelle Maschine (VirtualBox von Oracle) mit dem Linux-Betriebssystem Ubuntu eingerichtet. Zur Erklärung der Funktionsweisen von Catmandu gibt es einige Materialien wie eine Anleitung, die Dokumentation auf GitHub und verschiedene „Cheat Sheets“, die alle nötigen Befehle in Kürze enthalten.

Kommandozeilenfenster in der virtuellen Maschine (Quelle: Tim Friedrich)

Catmandu enthält einen einfach zu bedienenden Konverter, mit dem sich Metadaten von einem Format in ein anderes umwandeln lassen (z.B. MAB in MARC). Die Daten des hbz-FIX liegen allerdings in einem eigenen Standard im JSON-Format vor. Die Lösung hierfür ist die sogenannte fix-language in Catmandu. Mit dieser lassen sich mit einfachen Befehlen Daten über Pfadangaben manipulieren. So sieht z.B. ein Befehl aus, um die Daten des Titelfelds zu befüllen:

       marc_add(“245”, a, $.title, b, $.titelzusatz, c, $.verantwortlichkeit);

Aufgerufen wird dies über die Kommandozeile mit dem Befehl:

       $ catmandu convert [ein Format] [ein anderes Format] –fix“[fix-Datei]“ < [Ausgangsdatei]

Es wurden zwei fix-Dateien angelegt: eine Datei zur Extraktion der Daten (index.fix) und eine zur Umwandlung dieser in MARC (marc.fix). Dies erleichtert einerseits die Fehlersuche und macht andererseits in Zukunft weitere Formate wie MAB oder Dublin Core möglich. Die folgende Abbildung verdeutlicht den Weg der Daten von der Datenlieferung bis zur Konvertierung nach MARCXML:

Workflow des Mappings mit Catmandu (Quelle: Tim Friedrich)

Der Umgang mit dem ungewohnten Linux-Betriebssystem und die Meisterung der Funktionen von Catmandu stellten eine Herausforderung dar. Auch das Erzeugen von validen MARC-Datensätzen mitsamt Kontrollfeldern (vor allem die aufwändige Befüllung der Felder „leader“ und „008“) war nicht simpel. Eine allgemeine Herausforderung bei dem Mapping ist die Unspezifität der Ausgangsdateien. Diese Metadaten stammen aus einem großen Pool an Teilnehmerbibliotheken mit verschiedenen Standards und werden zu einfachen Feldern zusammengelegt. Aus diesen wieder informationsreiche MARC-Datensätze herzustellen war komplex.

Die Projektergebnisse wurden in einem Wiki dokumentiert. Als nächste Schritte sollen die erzeugten Datensätze ausführlich auf Fehler überprüft werden. Auch wird getestet, wie gut große Datenmangen konvertiert werden können. Zudem werden die ersten Lieferungen für den GVI vorbereitet.

(Quelle: LibreCat)

Projektzeitraum: März 2020 bis August 2020
Projektbetreuer*in: Petra Maier
Kontakt: tim.friedrich@hbz-nrw.de

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert