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
- HTW Chur (jetzt FH Graubünden)
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
- Nutzung der neuen verlinkten Datenstrukturen in den durch swissbib bereitgestellten discovery services swissbib, swissbib Basel Bern sowie dem Jusbib Portal
- Soweit rechtlich möglich Bereitstellung eines Grossteils der schweizerischen bibliographischen Daten unter der offenen Lizenz CC0
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.
- Reconciliation mit Open Refine
- Webabfragesprache GraphQL als Alternative zum REST Modell
- wir freuen uns über weitere Wünsche und Ideen sowie aktive Mitarbeit
Dans un premier billet de blog, nous avons résumé les principales nouveautés de la partie Linked Open Data de swissbib des 12 derniers mois. Ce deuxième billet de blog se concentre sur la nouvelle interface Linked Open Data de swissbib. Il détaille pourquoi et comment cette interface a été implémentée.
Le projet linked swissbib
Le projet swissbib s'est emparé très tôt de la thématique des données sémantiques structurées pour le web (Linked Open Data). En 2014, les 3 partenaires :
- HTW Chur (désormais FH Graubünden)
ont déposé un projet auprès du Programme “CUS 2013-2016 P-2” pour le développement de la plateforme swissbib vers un service de type Linked Open Data.
De plus, le GESIS – LeibnizInstitute for the Social Sciences a aussi participé au projet lors de sa mise en oeuvre.
Le projet comportait les 5 parties suivantes :
- Conversion de toutes les données de swissbib dans un nouveau modèle de données compatible avec le web sémantique
- Enrichissement des données par l'interconnexion avec d'autres sources
- Mise en place d'une API REST pour ces nouvelles données RDF
- Utilisation des nouvelles données dans l'interface de swissbib, swissbib Basel Bern ainsi que le portail juridique Jusbib
- Mise à disposition des données sous une licence CC0, quand les conditions juridiques le permettent (environ 80% des données)
Pour le Programme P2 (maintenant P5), il était essentiel que les résultats du projet soient intégrés au fonctionnement de swissbib et que les utilisateurs puissent profiter des avantages des données sémantiques. Ce but a aussi été mis en oeuvre. Toutes les données qui arrivent chaque nuit dans le hub de données swissbib (en moyenne 200'000 documents, mais avec des pointes à plusieurs millions) passent à travers le processus de transformation en Linked Open Data. De cette façon, elles sont disponibles pour tous les services, que ce soit sur swissbib.ch ou alors via l'interface data.swissbib.ch. Dans l'outil discovery swissbib.ch, les données sont principalement utilisées dans le cadre des pages décrivant des personnes ou des sujets.
Le temps est passé et l'expérience s'est accumulée. Lors des 2 ½ dernières années, le service swissbib s'est développé de plus en plus vers un centre de compétence avec une grande expertise dans le domaine de la gestion des données culturelles. Ceci sert de base pour la mise à disposition de différents services pour des utilisateurs, des institutions ou alors pour des machines.
Nouvelle implémentation de l'interface Linked Open Data
Diverses raisons ont engendré le redéveloppement complet de cette interface data.swissbib.ch :
- La première interface (2016) s'était basée sur la technologie PHP Framework API platform. C'était (et c'est encore) une technologie très populaire pour la réalisation d'interfaces REST. Cette technologie s'intégrait aussi très bien dans les technologies utilisées par swissbib pour ses services. PHP Framework API Platform était de plus une des premières plateformes qui intégrait le Vocabulaire Hydra, une partie de la spécification Linked Data Fragments qui permet une alternative légère à un serveur SPARQL. La majorité de l'implémentation a ét faite par deux étudiants dans le cadre d'un travail de projet à la FH Nordwestschweiz. Cependant, cette technologie s'est avérée pas totalement adéquate pour la mise en place de nouvelles fonctionnalités, comme par exemple la réconciliation avec des outils populaires comme OpenRefine. Dans ce domaine, le projet lobid de la Hochschulbibliothekszentrums Köln a développé une interface efficace et très utilisée pour la GND, les données d'autorité allemandes. De plus le technologie utilisée par lobid, Play Framework, s'intègre mieux avec les technologies actuellement utilisées par le hub de données swissbib. Le code source de la nouvelle API, comme toutes les applications développées par swissbib, est disponible en ligne sous une licence libre.
- swissbib se développe toujours plus dans la direction d'une plateforme de données. Sur cette plateforme, on peut lancer des processus de clustering, d'enrichissements, de liens avec le web sémantiques... Ces données sont préparées pour différents services, comme par exemple l'analyse interactive de données par des personnes. A cet effet, nous utilisons différentes technologies du domaine Big Data, comme Apache Kafka, Apache Flink et Apache Beam. Lors de la conférence Elag 2019, nous avons donnée un aperçu de la manière dont nous utilisons la plaque tournante Apache Kafka pour l'orchestration de nos différents microservices. Sur la base de ces technologies, nous développements les éléments de la plateforme de données swissbib, un prérequis indispensable pour de futurs services innovants. Nous avons donné plus de détails sur ces éléments dans un récent module de formation. Dans ce nouvel environnement, la base technique de 2015 s'intégrait mal. En tant que petite équipe, nous préférons nous concentrer sur un noyau de technologies.
- Le processus de "interlinking", qui permet de créer des liens avec d'autres sources du web sémantique, tel que développé à l'époque n'était plus suffisant pour répondre aux besoins d'aujourd'hui, comme par exemple l'avènement de wikidata. Les nouveaux composants développés ont permis la création d'un Hub de données beaucoup plus complet pour les personnes et organisations qui proviennent des ressources bibliographiques de swissbib. Ces identités sont désormais reliées à Wikidata, en plus de la GND, de DBPedia et de VIAF. Comme ces sources sont elles-mêmes liées à d'autres sources de données, les liens vont encore plus loin. Nous avons pu constaté une très grande augmentation de liens créés. Nous avons par exemple plus de 2 millions de personnes liées et enrichies. Avec ces nouvelles technologies, nous avons les possibilités d'améliorer constamment la qualité des liens.
La nouvelle interface Linked Open Data met à disposition nos données liées et enrichies pour d'autres services. Elle pourrait être la base pour de nouveaux développements tels que
- Reconciliation avec Open Refine
- Utilisation du langage de requête GraphQL comme alternative au modèle REST
- Nous nous réjouissons de vos demandes et sommes à disposition pour la collaboration
Dans le prochain et troisième billet de blog de cette série autour des données sémantiques au sein de la plateforme swissbib, nous allons présenter quelques exemples pratiques d'utilisation de l'interface https://data.swissbib.ch et quelles sont les nouvelles possibilités rendues possibles par les technologies du web sémantique.