Montag, 20. April 2020

Neuauflage der swissbib Linked Open Data API / Nouvelle version de l'API Linked Open Data de swissbib

Deutsche Version Version française

Im ersten Teil unserer Blogserie haben wir die wesentlichen Neuerungen der linked swissbib Aktivitäten im letzten Jahr für Benutzerinnen kurz zusammengestellt. Dieser zweite Teil legt seinen Schwerpunkt auf die neuentwickelte Linked Open Data Schnittstelle und möchte den Leserinnen Hintergrundinformationen dazu geben, wie und warum diese als Teil des Projekts linked swissbib entwickelt wurde und welche Gründe zu ihrer Neuimplementierung im letzten Jahr führten.     


Das swissbib Projekt hat sich bereits sehr früh mit dem Thema strukturierte semantische Daten für das Web (LOD) auseinandergesetzt. Im Jahre 2014 reichten die Projektpartner 


einen Projektantrag im Rahmen des “Programm SUK 2013-2016 P-2” zur Erweiterung der swissbib-Plattform zu einem Service für verlinkte Metadaten ein.

Zur weiteren Unterstützung der Umsetzung konnte zusätzlich die Expertise des GESIS – LeibnizInstitute for the Social Sciences gewonnen werden.

Zu den inhaltlichen 5 Säulen des Projekts zählen:
  • Die Konvertierung aller in swissbib verfügbaren Daten in ein durch das Projekt erstelltes Datenmodell
  • Datenanreicherung durch Verlinkung mit weiteren Quellen
     
  • Erstellung einer REST Datenschnittstelle für die neuen RDF Daten
  • Soweit rechtlich möglich Bereitstellung eines Grossteils der schweizerischen bibliographischen Daten unter der offenen Lizenz CC0
Das Projekt konnte Ende des Jahres 2016 nach der Errichtung dieser 5 Säulen erfolgreich abgeschlossen werden.

Dem Programm P2 (jetzt P5) war bei der Genehmigung wichtig, dass die Projektergebnisse in den laufenden produktiven Betrieb von swissbib übernommen und damit Nutzerinnen die Möglichkeiten von semantisch vernetzten Daten aktiv angeboten werden können und das Projekt nicht nur reinen Forschungscharakter hat. Auch dieses Ziel wurde umgesetzt. Alle Daten, die jede Nacht in den Datenhub von swissbib einfliessen (i.d.R. rund 200.000 Dokumente mit Spitzen von mehreren Millionen), werden in den workflow zur Erstellung strukturierter RDF Daten eingespiesen und stehen damit grundsätzlich allen Services der swissbib Plattform sowie den clients unserer Schnittstellen zur freien Verfügung. Innerhalb der Discoverywerkzeuge der swissbib Plattform werden die RDF Daten vor allem für die Seiten mit Personen- und Themeninformationen genutzt, maschinelle clients verwenden die Linked Open Data Schnittstelle.

Zeit ist verstrichen, Erfahrungen im praktischen Betrieb wurden gesammelt und der Service swissbib entwickelte sich vor allem in den letzten 2 ½ Jahren immer stärker hin zu einer Plattform mit hoher Expertise im Bereich des Management von Daten primär aus dem kulturellen Sektor. Diese Datenkompetenz ist die zentrale Grundlage zur Bereitstellung von Services, die sowohl von Menschen als auch Maschinen genutzt werden können.

Neuimplementierung der Linked Open Data Schnittstellen

Welche Gründe führten zur kompletten Neuentwicklung dieser API:
  • Die technische Basis basierte seinerzeit auf dem PHP Framework API platform, das sich damals und auch heute noch grosser Beliebtheit bei der Realisierung von REST Schnittstellen erfreut. Diese Basis passte 2015 auch ideal in den sonstigen Technologiestack des swissbib Projekts. API Platform integrierte als eines der ersten Frameworks überhaupt das Hydra Vokabular als ein Bestandteil der linked data fragments, die eine  leichtgewichtige Variante für Sparql Server ermöglichen. Der Grossteil der Implementierung konnte durch zwei Studenten im Rahmen einer Projektarbeit an der FH Nordwestschweiz umgesetzt werden. Dennoch erwies sich die Techologie als nicht unbedingt passend für die Umsetzung von Anforderungen wie bspw. Reconciliation mit populären tools wie OpenRefine. Hier steht das lobid Projekt des Hochschulbibliothekszentrums Köln Pate für eine erfolgreicher genutzte Datenschnittstelle zur GND. Der von lobid genutzte Technologiestack, das Play Framework, passt unterdessen auch viel besser zur sonstigen swissbib Datenplattform. Der Sourcecode der neuen API ist wie alle anderen Entwicklungen von swissbib frei abruf- und verfügbar.

  • swissbib entwickelt sich immer mehr zu einer Datenplattform, auf der (strukturierte) Daten in Datenpipelines ge-clustert sowie für Services aufbereitet werden und in Zukunft auch für die interaktive Datenanalyse durch Menschen bereitstehen. Dazu setzen wir bereits jetzt Big Data Technologien wie Apache Kafka, Apache Flink und Apache Beam ein. Auf der Elag 2019 gaben wir einen Einblick, wie wir die Datendrehscheibe Apache Kafka für die Orchestrierung von Workflows mit Microservices nutzen. Auf Basis dieser Technologien entwickeln wir Bausteine der swissbib Datenplattform, eine unabdingbare Voraussetzung für zukunftsfähige innovative Services. Mehr Einblick in diese Ideen gaben wir im Rahmen eines Weiterbildungsmoduls.
    In diese Welt lässt sich die technische Basis aus dem Jahre 2015 schlechter integrieren bzw. können wir uns als kleines Team neben dem beschriebenen Kern an Technologien nicht auch noch fokussieren.
     
  • Die seinerzeit entwickelten workflows zur Verlinkung der Daten genügen nicht mehr den heutigen Wünschen und Vorstellungen. Die neuen Datenkomponenten ermöglichen es uns, einen umfassenderen Hub für Personen und Organisationen aus den bibliographischen Ressourcen der swissbib Daten zu erstellen. Diese Identitäten verlinken wir nicht nur mit Ressourcen aus GND, DBPedia und Viaf (bisher) sondern neu mit Wikidata und allen weiteren Datensourcen, die mit den genannten Quellen in Verbindung stehen. Bereits jetzt haben wir einen erheblichen Zuwachs an Verlinkungen. Neu werden wir auf Basis der neuen Technologen weitere Methoden nutzen, um die Verlinkungsqualität stetig zu verbessern.     
Die neue Datenschnittstelle wird unsere deutlich verbesserten Verlinkungen anderen Diensten einfacher zur Verfügung stellen können. Sie kann die stabile technische Basis für bereits jetzt angedachte funktionale Weiterentwicklungen sein:
  • Reconciliation mit Open Refine  
  • Webabfragesprache GraphQL als Alternative zum REST Modell
  • wir freuen uns über weitere Wünsche und Ideen sowie aktive Mitarbeit 
Im folgenden dritten Teil unserer Blogserie zu den aktuellen Entwicklungen im Bereich semantische Daten auf der swissbib Plattform werden wir den Schwerpunkt auf praktische Beispiele legen, wie die neuen Funktionen der Schnittstelle https://data.swissbib.ch genutzt werden können.