Metadaten und Schnittstellen sind ein sehr wichtiges Thema – wenn nicht sogar das Kernthema des Kurses. Am heutigen Tag 6 befassen wir uns in erster Linie mit Harvesting und Crosswalks, d.h. also mit der Übertragung der Daten und den Schnittstellen.

Mit dem Modellieren werden wir uns in Teil 2 (an Tag 7) auseinandersetzen.

Schnittstellen

Es gibt viele Schnittstellen (Übertragungsprotokolle), den wichtigsten und am weitesten verbreiteten Übertragungsprotokollen im Zusammenhang mit Bibliotheks- und Archivsystemen sind wir bereits mehrfach begegnet im Laufe des Semesters:

  • Z39.50 (von der Library of Congress standardisiert, stammt aus den 80er Jahren, wird aber immer noch verwendet; braucht eine spezielle Software für Anfragen)
  • SRU – Search/Retrieve via URL (eine modernere Variante, funktioniert ähnlich wie Z39.50, ebenfalls von der Library of Congress; Anfragen via URL im Browser möglich)
  • OAI-PMH Open Archive Initiative Protocol for Metadata Harvesting (von Open Archives Initiative erarbeitet, Library of Congress ist jedoch auch mitwirkend; Anfragen via URL im Browser möglich)

Harvesting und Crosswalks

Anhand des Schaubildes lässt sich gut nachvollziehen, was wir bisher im Kurs gemacht haben, wo wir uns momentan befinden und was schliesslich das Ziel sein wird. (Anmerkung: Das Schaubild hat sich seit Kursbeginn etwas gewandelt, wir nutzen nun statt metha den OAI-Harvester VuFindHarvest.)

Schaubild zum Kurs

Wir haben je ein Bibliothekssystem (koha), ein Archivsystem (ArchivesSpace) und ein Repository (DSpace) kennengelernt und darin jeweils Datensätze erstellt.

Diese Daten sollen nun aus den drei Systemen mit VuFindHarvest via die Schnittstellle OAI-PMH geholt (also geharvestet, «geerntet») werden, und in für die Systeme typischen Daten geladen werden:

  • Koha: MARC21-XML
  • ArchivesSpace: EAD
  • DSpace: Dublin Core1

Das Harvesting kann man sich wirklich bildhaft vorstellen, wie ein abgrasen oder auch ernten der Daten: Der Harvester grast über das System und holt sich die Daten, man spricht daher auch von einer Maschinenschnittstelle. Bei ArchivesSpace beispielsweise, greifen wir nicht wie bis anhin via localhost:8080 darauf zu, sondern nun wird ArchivesSpace nur gestartet und im Hintergrund öffnet ArchivesSpace einen speziellen Dienst für die OAI-PMH-Schnittstelle und den Harvester unter localhost:8082.

Da nun also drei verschiedene Formate herauskommen, müssen diese als nächstes in ein einheitliches Format gebracht werden: in MARC21-XML. Dazu benötigen wir ein weiteres Tool, marcEdit, mit welchem wir einen XSLT-Crosswalk machen, wodurch dann die Daten alle einheitlich in MARC21-XML vorliegen.

Mit diesen Daten werden wir dann in der Vorlesung von Tag 9 weiterarbeiten, und zwar mit dem Suchindex Solr; dies ist eine Volltext-Suchmaschine und ist Teil von VuFind, einem Discovery-System, und ist Open Source. Nebst Solr gibt es noch Elasticsearch, welche auch Open Source ist. Amazon, Netflix und viele mehr nutzen eine dieser beiden Volltext-Suchmaschinen im Hintergrund.)

Nun geht es daran dies alles umzusetzen und in der Anwendung zu erfahren. Wir haben nun also folgende zwei Schritte und somit zwei Übungen vor uns:

  1. Metadaten über OAI-PMH harvesten mit VuFindHarvest: Die Daten aus koha, ArchivesSpace und DSpace über die OAI-PMH-Schnittstellen harvesten und auf der Festplatte speichern.
  2. XSLT Crosswalks mit MarcEdit: Mit MarcEdit die auf der Festplatte gespeicherten Daten alle ins Format MARC-21 bringen.

Übung 1: Metadaten über OAI-PMH harvesten mit VuFindHarvest

Das Vorgehen ist wie folgt:

  1. Sicherstellen, dass die Endpoints (koha, ArchivesSpace, DSpace) und die von uns im Vorfeld erstellten Datensätze überhaupt verfügbar sind und die Schnittstellen abrufbar
  2. Installation von VuFindHarvest
  3. Die Schnittstellen abrufen und die Daten als XML auf der Festplatte speichern.

Leider hat bereits die Installation von VuFindHarvest nicht funktioniert. Zunächst sah alles noch gut aus:

Screenshot Terminal Installation VuFindHarvest

Als nächsten Befehl habe ich composer installeingegeben. Anschliessend passierte das folgende:

Screenshot Fehler bei Installation VuFindHarvest

Und das, befand ich, sah irgendwie nicht so gut aus, besonders, da das Terminal selbst eine Stelle extra gelb markiert hat. Ich habe dann dennoch einfach mal versucht, ob ich die Daten aus ArchivesSpaces bekommen kann – es hätte ja sein können, dass die Installation von VuFindHarvest doch geklappt hat und das normal ist, dass das so aussieht wie auf dem Screenshot oben. Allerdings hat das nicht funktioniert mit dem Laden der Daten. Ich weiss nun allerdings nicht, ob das an der fehlerhaften Installation von VuFindHarvest liegt, an einem fehlerhaften Vorgehen beim Zugrif auf ArchivesSpace oder eine Kombination aus allem.

Irgendetwas scheint es aufjedenfall schon gemacht zu haben, wie der folgende Screenshot der Ordner auf der virtuellen Maschine zeigt:

Screenshot der bestehenden Ordner

Allerdings wusste ich dann damit nicht wirklich etwas anzufangen, und wie ich nun weitermachen sollte, fand ich ebensowenig heraus.

Hier kam ich nun also zum ersten Mal so richtig an einen Punkt, wo ich alleine wirklich nicht mehr weiterkam. Hier wäre der Austausch in einer Gruppe sehr hilfreich gewesen. Hinzu kam der Umstand dass, da ich mit BAIN insgesamt derart in Rückstand geraten war, nun die Zeit so knapp wurde, dass es mir nicht mehr reichte, dem Problem nachzugehen und nachzufragen. Angesichts des Zeitdruckes habe ich entschieden, dass ich erstmal weitermache und versuche, die weiteren Schritte anhand der Vorlesungsaufzeichnung und des Skripts nachzuvollziehen. Wenn die Zeit dann doch noch reicht, dann kann ich dem Problem immer noch auf den Grund gehen, es hoffentlich lösen und die Aufgaben selbst nachvollziehen. Ungünstig ist natürlich, dass alles aufeinander aufbaut und ich vermutlich dadurch entsprechend bei den nachfolgenden Übungen anstehen werde, da mir nun die Datensätze fehlen.

Übung 2: XSLT Crosswalks mit MarcEdit

Nun liegen also die Daten auf der Festplatte in Dateien in den verschiedenen Formaten vor. Um daraus ein einheitliches Format zu bekommen verwenden wir MarcEdit. MarcEdit ist eine Software, die XSLT verwendet, womit MARC-Daten bearbeitet werden können. XSLT ist eine Programmiersprache, die zu XSL gehört, wobei das T für Transformation steht. Mit Transformation wird die Umwandlung von einer Form eines Dokuments/Datei in eine andere Form bezeichnet. Ein Anwendungsgebiet ist der Datenaustausch.

Mit MarcEdit konvertieren wir die in verschiedenen Formaten vorliegenden Daten (EAD, Dublin Core, MARC21-XML) in MARC21-XML. Dieser Vorgang wird Crosswalk genannt – die Daten gehen also über den Zebrastreifen und werden dabei transformiert, dies geschieht nach vorgegebenen Regeln (Mapping).

Dazu haben wir zunächst MarcEdit installiert und konfiguriert und anschliessend in der Übung die Daten konvertiert. Auch wenn ich die Übung, aufgrund der mir fehlenden Daten nicht werde machen können, so habe ich doch MarcEdit installiert, da ich wenigstens wissen wollte, wie MarcEdit aussieht und aufgebaut ist. Einen zusätzlichen Einblick haben mir die Anleitung der Uniblibliothek Illinois und die Library Carpentry Materialien zu MarcEdit verschafft.

Benutzeroberfläche in MarcEdit

So sieht die Benutzeroberfläche in MarcEdit aus.

Obwohl es heute mit den Übungen nicht wie erhofft funktioniert hat, kann ich einiges mitnehmen – ich habe verstanden, worum es im Grundsatz bei Schnittstellen geht. Natürlich wäre eine eigene Erfahrung besser und prägender gewesen. Aber dank der Webex-Aufzeichnung mit Einblick in die Vorgänge wie das aussieht, und auch der Screenhots in einigen der anderen Lerntagebüchern, konnte ich dennoch einen Eindruck gewinnen. Die Vorgänge sind mir dadurch trotz allem plastischer geworden und ich kann mir nun unter Begriffen wie Schnittstellen und Harvesting, die bislang für mich etwas sehr Abstraktes und Abschreckendes hatten, tatsächlich etwas vorstellen. Das ein kleiner Erfolg und daher etwas Erfreuliches.


  1. Dublin Core ist nicht das beste Format im Zusammenhang mit DSpace, aber hier für unsere Übung geeignet, weil Dublin Core ein weit verbreitetes Format ist, das wir kennen sollten.