OAI-PMH

Motivation und Entstehung

Im Jahr 2012 ent­stand an der UB Leip­zig der Wunsch nach einem URN-Ser­ver, der nächt­lich alle über den Tag neu erstell­ten URNs zusam­men­fasst und für die Deut­sche Natio­nal­bi­blio­thek (DNB) abruf­be­reit prä­sen­tiert, damit die­se in den Index der DNB auf­ge­nom­men wer­den kön­nen. Die DNB arbei­te­te damals wie heu­te mit OAI-Cli­ents zum Abru­fen der URNs. Ste­fan Frei­tag, mitt­ler­wei­le Lei­ter der Soft­ware­ent­wick­lung an der UB Leip­zig, hat dar­auf­hin zunächst einen OAI-PMH-Ser­ver für URNs unter Nut­zung des xepi­cur-For­mats imple­men­tiert. In 2018 wur­de die­ser unter Ver­wen­dung aktu­el­le­rer Tech­no­lo­gien (u.a. Java 11, vert.x‑Framework) neu implementiert.

Zur glei­chen Zeit ent­stand der Wunsch, METS/MODS-Datei­en eben­falls öffent­lich ver­füg­bar zu machen. METS/­MODS-Datei­en enste­hen wäh­rend des Kito­do-Digi­ta­li­sie­rungs­work­flows und wer­den zur IIIF-Ver­ar­bei­tung her­an­ge­zo­gen. IIIF ist eine wun­der­ba­re Tech­no­lo­gie zum Aus­tau­schen und Prä­sen­tie­ren von Bild­da­tei­en, es fehlt der Tech­no­lo­gie jedoch an Funk­tio­na­li­tät, um detail­lier­te biblio­gra­fi­sche Infor­ma­tio­nen dar­zu­stel­len, die wie­der­um in den METS/­MODS-Daten aggre­giert sind. Aus die­sem Grun­de hat Ste­fan Frei­tag den OAI-Ser­ver modi­fi­ziert und eine neue Instanz auf­ge­setzt. Dar­über wer­den seit­dem die METS/­MODS-Daten ver­füg­bar gemacht. Um die­se Schnitt­stel­le per­for­mant zu gestal­ten, wer­den die Daten in einer Daten­bank zwi­schen­ge­spei­chert, die wie­der­um inter­vall­mä­ßig aus einer selbst ent­wi­ckel­ten Schnitt­stel­le (igiL-Backend) mit den Daten ver­sorgt wird. Die UB Leip­zig erreicht dadurch ein sehr per­for­man­tes Zwi­schen­spei­chern (Caching) der Daten für die sehr vie­len und zudem teil­wei­se sehr gro­ßen METS/­MODS-Beschrei­bun­gen.

Nutzung und Nutzungsbeispiel

Open Archi­ves Initia­ti­ve Pro­to­col for Meta­da­ta Har­ve­s­ting (OAI-PMH) ist ein web­ba­sier­tes stan­dar­di­sier­tes Pro­to­koll für das Sam­meln von Meta­da­ten und bie­tet ein anwen­dungs­un­ab­hän­gi­ges Inter­ope­ra­bi­li­täts-Frame­work. Mit Hil­fe eines Har­ve­s­ters (Cli­en­t­an­wen­dung), kön­nen Meta­da­ten gesam­melt werden.

Mit­hil­fe von OAI-PMH wer­den bevor­zugt Daten­ab­glei­che zwi­schen Daten­ban­ken voll­zo­gen. Das schließt jedoch nicht aus, Meta­da­ten ohne eige­ne Daten­bank über die Schnitt­stel­le zu bezie­hen. Wie ein­gangs erwähnt, fin­det die Schnitt­stel­le bei uns haupt­säch­lich Anwen­dung beim Daten­ab­gleich mit der DNB. So kön­nen Daten­sät­ze auto­ma­ti­siert und in einem fest­ge­leg­ten Stan­dard zwi­schen den Ein­rich­tun­gen aus­ge­tauscht werden.

Die ein­fachs­te Art eines sol­chen Cli­ents ist bei­spiels­wei­se ein Web­brow­ser. Es kön­nen aber auch Anfra­gen (Requests) in Com­pu­ter­pro­gram­men von Pro­gram­mie­rern inte­griert wer­den, um die­se an den Ser­ver zu sen­den, eine Ant­wort (Respon­se) zu bekom­men und die­se Ant­wort ent­spre­chend im Com­pu­ter­pro­gramm zu verarbeiten.

Im Fol­gen­den zei­gen wir Ihnen, anhand von 2 Bei­spie­len, wie Sie die Schnitt­stel­le nut­zen kön­nen. Eine aus­führ­li­che Beschrei­bung des Pro­to­kolls fin­den Sie unter https://www.openarchives.org/OAI/openarchivesprotocol.html

Request

OAI-PMH-Anfra­gen müs­sen ent­we­der mit den Metho­den HTTP GET oder POST gesen­det wer­den. POST hat den Vor­teil, dass die Län­ge der Argu­men­te nicht ein­ge­schränkt wird. Bei den Anfra­gen muss das URL-Enco­ding beach­tet werden.

Für eine Anfra­ge (Request) wird eine Basis-URL benö­tigt, wel­che durch Schlüs­sel­wort­ar­gu­men­te (key­word argu­ments) ergänzt wird. Zwi­schen der Basis-URL und den Schlüs­sel­wort­ar­gu­men­ten muss eine Tren­nung durch ein Fra­ge­zei­chen [?] erfolgen.

Basis-URL der UB Leipzig

Keyword Arguments

Zusätz­lich zur Basis-URL bestehen alle Anfra­gen aus einer Lis­te von Schlüs­sel­wort­ar­gu­men­ten (key­word argu­ments), die die Form von Schlüs­sel-Wert-Paa­ren haben (key=value). Die Argu­men­te kön­nen dabei in belie­bi­ger Rei­hen­fol­ge anein­an­der­ge­reiht wer­den. Meh­re­re Argu­men­te müs­sen durch das kauf­män­ni­sche Und [&] getrennt wer­den. Dabei ist zu beach­ten, dass jede OAI-PMH-Anfra­ge min­des­tens ein Schlüs­sel-Wert-Paar ent­hal­ten muss.

Bei­spiel für den Abruf des Impres­s­ums vom OAI-Ser­ver mit­hil­fe des Wer­tes „Iden­ti­fy”:

Basis-URL:

key­word arguments:

Repo­si­to­ries machen stan­dard­mä­ßig ihre Basis-URL als Wert des baseURL-Ele­ments in der soge­nann­ten Iden­ti­fy-Ant­wort verfügbar.

Bei­spiel für die Ein­gren­zung der Records auf einen bestimm­ten Zeitraum:

Basis-URL:

key­word arguments:

Response

Alle Ant­wor­ten auf OAI-PMH-Anfra­gen sind wohl­ge­form­te XML-Doku­men­te die in UTF-8 codiert sind.

Ver­füg­ba­re Formate:

METS Meta­da­ta Enco­ding & Trans­mis­si­on Standard For­mat zur Beschrei­bung von digi­ta­len Samm­lun­gen von Objek­ten mit Metadaten
MODS Meta­da­ta Object Descrip­ti­on Schema For­mat für biblio­gra­fi­sche Metadaten

Im Fol­gen­den ist ein Aus­schnitt für den Respon­se zum Bei­spiel 2 zu sehen. Das Bei­spiel ent­hält Ele­men­te und Attri­bu­te, wel­che in den Sche­ma­de­fi­ni­tio­nen hin­ter­legt sind. Die­se wer­den mit ent­spre­chen­den Daten gefüllt, wie es die Sche­ma­de­fi­ni­ti­on ver­langt. Betrach­ten wir hier­zu den fol­gen­den Abschnitt, wobei erkenn­bar ist, dass die Bezeich­nung recht ein­deu­tig sind. Hier der Titel des Werks:

Kon­takt
Für Fra­gen und Anre­gun­gen zum The­ma wen­den Sie Sich bit­te an die Ansprech­part­ner des UBLabs.