Offene Bibliotheks-APIs erfassen & nachschlagen

19 Jul 2019, Adrian Pohl | 🏷 lobid-organisations 

Bisher ist es oft nur recht umständlich herauszufinden, ob und welche Schnittstellen zu einem Bibliothekssystem existieren. Dies kann nun auf sehr bequeme Weise über die lobid-API erfolgen. Im Sigelverzeichnis lassen sich die API-Endpoints verschiedener offener Programmierschnittstellen erfassen und sind dann über lobid-organisations abfragbar.

Wir nehmen als Beispiel die Universitätsbibliothek Hildesheim (DE-Hil2), die ihre Schnittstellen (SRU, DAIA, PAIA) vorbildlich erfasst hat. Das JSON-LD enthält folgende Informationen:

{
   "id":"http://lobid.org/organisations/DE-Hil2#!",
   "availableChannel":[
      {
         "serviceType":"SRU",
         "type":["ServiceChannel","WebAPI"],
         "serviceUrl":"http://sru.gbv.de/opac-de-hil2"
      },
      {
         "serviceType":"PAIA",
         "type":["ServiceChannel","WebAPI"],
         "serviceUrl":"https://paia.gbv.de/DE-Hil2/"
      },
      {
         "serviceType":"DAIA",
         "type":["ServiceChannel","WebAPI"],
         "serviceUrl":"https://paia.gbv.de/DE-Hil2/daia"
      }
   ]
}

Im availableChannel Array sind also nun alle im Sigelverzeichnis eingetragenen Service URLs als ServiceChannel angegeben, wobei nur Programmierschnittstellen den zusätzlichen Typ WebAPI haben.* Mit serviceType wird der jeweilige Schnittstellentyp angegeben.

Alle Felder lassen sich über die API abfragen. Hier ein paar Beispiele:

Die Abfragen lassen sich natürlich beliebig mit der Abfrage anderer Felder (siehe die API-Dokumentation kombinieren, zum Beispiel:

Voraussetzung für eine umfassende Suche nach offenen Schnittstellen ist natürlich, dass die Schnittstellen überhaupt im Sigelverzeichnis erfasst sind, wozu wir ausdrücklich ermutigen möchten. Für die Erfassung hat Jakob Voß eine Anleitung erstellt, die wir hier wiedergeben.

Eintragung offener APIs im Sigelverzeichnis

Ob und unter welcher URL welche Schnittstellen zu Bibliothekssystemen existieren ist oft nur aufwändig herauszufinden. Es wird deshalb empfohlen die API-URLs im Sigelverzeichnis einzutragen. Grundlage hierfür ist das Pica3-Feld 856. Zur Eintragung und Aktualisierung kann das Webformular der Sigelstelle verwendet werden:

  1. Eintrag der eigenen Bibliothek im Sigelverzeichnis suchen (z.B. https://sigel.staatsbibliothek-berlin.de/suche/?isil=DE-Hil2)
  2. Ganz unten auf “Änderungen zu Angaben mitteilen” klicken (z.B. https://sigel.staatsbibliothek-berlin.de/aenderungen-mitteilen/?isil=DE-Hil2)
  3. Vorhandene Schnittstellen unter “Service-URLs” ergänzen
    1. Art der URL: “weitere Service-URL” auswählen
    2. Text (Textfeld direkt unter der Auswahlliste): Art der Schnittstelle, also “SRU”, “Z39.50”, “DAIA”, “PAIA” oder “OpenURL
    3. URL: Basis-URL der jeweiligen Schnittstelle
  4. Formular abschicken (vorher noch eigene Kontaktdaten für Rückfragen angeben) & Bestätigungslink in der automatisch verschickten E-Mail klicken

Ein Screenshot des Änderungsformular, der beispielhaft das Eintragen von SRU, PAIA und DAIA-Endpunkten zeigt

Wer will kann natürlich auch den Link zum Änderungsformular im jeweiligen lobid-organisations-Eintrag klicken:

Ein Screenshot, der zeigt, wie man aus einem lobid-organisations-Eintrag in das entsprechende Änderungsformular des Sigelverzeichnisses gelangt

Dank

Danke an alle Beteiligten (siehe diesen Twitter Thread), vor allem Jakob Voß und Carsten Klee für die schnelle Unterstützung. Das war ein zügige verbundübergreifende Zusammenarbeit, die Spaß gemacht hat. Und merci im Vorabbereich an alle, die ihre offenen Schnittstellen im Sigelverzeichnis erfassen!


* Es gibt noch einige weitere Nutzungsarten des entsprechenden Feldes im Sigelverzeichnis, z.B. werden Links zur Benutzungsordnung, zum Standort oder zu den Öffnungszeiten in dem Feld angegeben. Eine Liste der serviceType-Werte gibt es hier.

Comments? Feedback? Just add an annotation with hypothes.is.