Katalogdatenexport für EBSCO Discovery Service

Aus Admin Kuhn GmbH
Zur Navigation springen Zur Suche springen

Der EBSCO Discovery Service / EDS ist eine Metasuchmaschine für Datenbanken und Bibliothekskataloge der US-amerikanischen Firma EBSCO Publishing, welche einen Index über 300 fortlaufende Literaturdatenbanken und Volltextdatenbanken mit mehreren tausend Titeleinträgen von Zeitschriften und Magazinen als kostenpflichtige Abonnements anbietet.

Die Abonnenten von EDS sind oft Bibliotheken - diese können auch ihre eigenen Katalogdaten in den EDS-Index hinzuladen, sodass über diesen Index dann also nicht nur die abonnierten Datenbanken, sondern auch die Bibliotheksbestände unter einer Oberfläche durchsuchbar sind. Nach einem Urladen sämtlicher Katalogdatensätze kann die Aktualisierung der eigenen Katalogdaten auf zwei Arten stattfinden:

  • Vollständiges Laden: Nachdem die bereits vorhandenen Daten gelöscht werden, werden erneut sämtliche Katalogdaten in den EDS-Index geladen.
  • Inkrementelles Laden: Es wird zwischen neuen, geänderten und gelöschten Datensätzen unterschieden. Neue Datensätze werden zum EDS-Index hinzugefügt, geänderte Datensätze überschreiben die bereits vorhandenen. Im Bibliothekskatalog gelöschte Datensätze werden ebenfalls aus dem Index gelöscht.

Im Sommer 2016 entwickelte die Admin Kuhn GmbH für zwei SISIS-Sunrise-Bibliotheken Routinen für die automatische Durchführung beider möglichen Ladevorgänge. Dabei werden kurz gesagt folgende Schritte durchgeführt:

  • Die in SISIS-Sunrise im bibliografischen Datenformat SISIS-MAB vorhandenen Katalogdaten werden mittels ENTLMASS über den (eigentlich für Touchpoint gedachten) Exportkonverter "SisisToMarcJeromeXml" im Format MARCXML entladen.
Einige Fehler in den entladenen XML-Daten
  • Aufgrund inhärenter Fehler von ENTLMASS bzw. des Konverters "SisisToMarcJeromeXml" wird nicht in jedem Fall korrektes XML erzeugt - fehlerhafte XML-Datensätze werden deshalb künstlich "geheilt", um die Wohlgeformtheit der Datensätze sicherzustellen. Der EBSCO Discovery Service würde den Ladevorgang sonst beim ersten vorkommenden XML-Fehler abbrechen und alle weiteren Datensätze also nicht laden. (Bei Touchpoint ist es sogar so, dass überhaupt kein Datensatz geladen wird, wenn die XML-Daten auch nur einen einzigen Fehler enthalten!)
  • Überprüfung der nun entladenen und bereinigten XML-Datensätze auf wohlgeformtes XML.
  • Komprimierung der XML-Datensätze.
  • Übertragung der komprimierten XML-Datensätze auf den FTP-Rechner von EBSCO Publishing. Von dort aus werden sie dann einmal im Tag automatisch in den EDS-Index geladen.

Nach rund sechswöchigem Testlauf nahmen beide Bibliotheken den produktiven Betrieb mit der jeweiligen Routine auf und bieten nun also ihren EDS-Index samt ihren eigenen Katalogdaten an.

Vollständiger Katalogdatenexport

Die Fachhochschule Bielefeld besitzt rund 320'000 Titel- und 190'000 Exemplardatensätze. Zwar werden jeden Tag nur vergleichsweise wenige Katalogdatensätze neu aufgenommen, geändert oder gelöscht. Das vollständige Entladen erzeugt aber automatisch Datensätze, in denen alle Titel-, Exemplar- und Normdaten vollständig enthalten sind. Da das Entladen mittels ENTLMASS bloss rund vier Stunden dauert und also in einer Nacht durchführbar ist, wurde entschieden, den EDS-Index täglich über das Neuladen der vollständigen Katalogdaten zu aktualisieren.

Die Katalogdaten werden dabei in Paketen von jeweils 10'000 Katalognummern als MARCXML-Daten entladen (um die Suche nach allfälligen XML-Fehlern einfacher zu machen), wie oben beschrieben bereinigt und mit dem Programm "xmllint" auf Wohlgeformtheit geprüft. Die einzelnen Pakete werden dann zu einer grossen Datei zusammengefügt, komprimiert und mittels SFTP auf den FTP-Rechner von EBSCO Publishing übertragen. Die übermittelten XML-Daten sowie die während des Vorgangs entstandenen Logdateien können konfigurierbar entweder aufbewahrt oder automatisch gelöscht werden.

Die Routine enthält eine ausführliche Protokollierung des Vorgangs, um im Fehlerfall möglichst zeitsparend die Ursache finden und diese beheben zu können. Zum den Erfolg des Vorgangs wird eine entsprechende E-Mail versandt.

Natürlich ist diese Lösung nicht besonders schön, da jedesmal alle Katalogdaten entladen und übermittelt werden - also auch die grosse Mehrheit derjenigen, an denen sich überhaupt nichts geändert hat. Da diese Lösung aber mit weniger entwicklungstechnischem Aufwand verbunden war, ist es die günstigere und für den Fall der Fachhochschule Bielefeld völlig ausreichend.

Inkrementeller Katalogdatenexport

Die Universitätsbibliothek Bochum besitzt rund 2.8 Millionen Titel- und 3.1 Millionen Exemplardatensätze - ein tägliches, vollständiges Entladen kam hier nur schon aus Zeitgründen und aufgrund der entstehenden Ressourcenbelastung im Tagesbetrieb nicht in Frage. Mit erheblich mehr Aufwand wurde hier deshalb eine Routine zum inkrementellen Laden der Daten entwickelt.

Zur Feststellung der sich zwischen den Ladevorgängen ergebenden Differenzen in den Katalogdaten wurden dafür die Werte der SISIS-Sunrise-Tabelle "cat_orders" herangezogen, in welcher jede Neuaufnahme, Änderung und Löschung eines Datensatzes samt Zeitstempel protokolliert wird. Über die neu eingeführte Variable "EDS_LASTORDER" ist es nun möglich, die Differenzmenge seit dem letzten erfolgreichen Ladevorgang zu ermitteln und eine Trefferliste der Katalognummern zu erstellen, welche entladen und an den EDS-Index übermittelt werden sollen.

Im Fall von Neuaufnahmen und Löschungen ist das vergleichsweise einfach. Bei Änderungen ist jedoch zu beachten, dass Änderungen an Personen-, Körperschaften-, Schlagwort- und Systematiknormdatensätzen zwar in der genannten Tabelle "cat_orders" protokolliert werden. Die Normdaten sind jedoch integraler Bestandteil der MARCXML-Titeldaten und werden nicht separat entladen. Beispielsweise ist von einer kleinen Änderung an einem Schlagwort wie "Deutschland" oder einem Personennamen wie "Karl Marx" jeweils eine sehr grosse Anzahl von Titeldatensätzen betroffen, deren Katalognummern aber nicht in der Tabelle "cat_orders" erscheinen und also erst per SQL in der Datenbank ermittelt werden müssen. Zudem werden hier auch die Katalognummern von geänderten Datensätzen eliminiert, welche zuvor bereits in der Trefferliste mit den Neuaufnahmen ermittelt wurden.

Nach Vorliegen der so erstellten Trefferlisten mit den Katalognummern aller relevanten Neuaufnahmen, Änderungen und Löschungen werden die zugehörigen Katalogdaten nun in kleinen Paketen als MARCXML-Daten entladen. Beim Entladen vorkommende bekannte XML-Fehler werden bereinigt, anschliessend findet sicherheitshalber eine doppelte Prüfung auf Wohlgeformtheit statt - zuerst mit dem Programm "xmllint", dann mit "xmlwf".

Leider entlädt der Konverter "SisisMarcToJeromeXml" sämtliche Datensätze mit dem Aktionsbyte für Neuaufnahmen in der Satzkennung von MARC - die entladenen Datensätze mit Änderungen müssen also erst noch mit dem Aktionsbyte für Änderungen und die Datensätze mit Löschungen mit demjenigen für Löschungen versehen werden, damit EDS diese Datensätze auf die gewünschte Weise verarbeiten kann. Schliesslich werden auch hier alle erzeugten XML-Dateien zu einer grossen Datei zusammengefügt. Auf Wunsch der Bibliothek findet zusätzlich noch eine Prüfung des verwendeten Zeichensatzes mit dem Programm "iconv" statt, damit die Daten in jedem Fall ausschliesslich gültige UTF-8-Zeichen enthalten. Anschliessend wird die fertige XML-Datei komprimiert und mittels FTP auf den FTP-Rechner von EBSCO Publishing übertragen.

Die Trefferlisten, die übermittelten XML-Daten sowie die während des Vorgangs entstandenen Logdateien werden hier nicht automatisch geklöscht, um im Fehlerfall jederzeit sofortigen Zugriff auf die fehlerhaften Daten zu haben.

E-Mail bei erfolgreicher Übermittlung

Auch diese Routine enthält eine ausführliche Protokollierung des Vorgangs, um im Fehlerfall möglichst zeitsparend die Ursache zu finden und diese beheben zu können. Zum Erfolg des Vorgangs wird eine entsprechende E-Mail versandt.

Diese Lösung ist wesentlich zeitsparender, als wenn für die Universitätsbibliothek Bochum jedesmal ein vollständiges Entladen der bald drei Millionen Datensätze stattfinden müsste. Je nach den tagsüber durchgeführten Arbeiten im Katalog dauert der Vorgang so üblicherweise zwischen wenigen Minuten und etwa einer Stunde.

Weblinks

Herausgeber Sprache Webseitentitel Anmerkungen
Wikipedia ger EBSCO Discovery Service / EDSwbm Enzyklopädischer Artikel
EBSCO Information Services eng EBSCO Discovery Service (EDS) - Custom catalog database overview and instructionswbm Übersicht über die von EDS verarbeitbaren Datenformate