We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Verlinkung von Wikidata und K10plus mit dem K10plusBot

00:00

Formal Metadata

Title
Verlinkung von Wikidata und K10plus mit dem K10plusBot
Subtitle
Bericht aus Forschung & Entwicklung der VZG
Author
License
CC Attribution 3.0 Germany:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language
Production Year2020
Production PlaceGöttingen

Content Metadata

Subject Area
Genre
Abstract
Im Video wird die Verlinkung des Verbundkatalogs K10plus mit Wikidata vorgestellt. Zur Umsetzung wurde ein Bot entwickelt, der ausgehend von gleicher ISBN in Wikidata und K10plus die beiden Datensätze miteinander verbindet. Weitere Informationen zum Bot unter https://www.wikidata.org/wiki/User:K10PlusBot und https://github.com/gbv/K10PlusBot
Keywords
Computer animation
Computer animation
Computer animation
Transcript: German(auto-generated)
Hallo, heute wollte ich zeigen, wie Wikidata und der K10 Plus-Katalog miteinander verlinkt werden, und zwar mithilfe eines sogenannten Bots. Doch warum das Ganze? Wikidata ist eine Umfangsdatenbank, und die enthält unter anderem auch Angaben über bibliografische Datensätze. Das Ganze läuft unter dem Namen Wikisight, also die Initiative, bibliografische Daten
und Wikidata und JGP, die zusammenzubringen. Ich kann dazu empfehlen, sich mal die Vorträge der letzten Wikisight-Konferenz anzugucken oder allgemein sich mit Wikidata zu beschäftigen. Auf der anderen Seite haben wir den K10 Plus-Katalog, das ist der größte Verbundkatalog in Deutschland der Verbünde GBV und SWB, und es gibt dort auch eine Oberfläche, den OPAK, dort
kann man halt den Katalog suchen. Jetzt zur Kooperation, warum soll da mit was verbunden werden? Zum einen können die Datensätze zu gleichen Ausgaben verlinkt werden, es wäre auch möglich, Datensätze zu Normdaten und so weiter, das machen wir in einem anderen Projekt, in Kodikon, aber hier geht es jetzt darum, die Datensätze zu gleichen Titeln
zu verlinken, und dann, wenn die verlinken erst mal da ist, dann kann man Datenabgleich betreiben, zu schauen, ist in der Eindatenbank vielleicht die Autorenangabe anders oder ist die Sacherschließung, dass die vielleicht übernommen werden könnte, und natürlich sind auch Auswertungen möglich, gerade Wikidata bietet viel, also dort kann
beispielsweise über Autoren, Geburtsdaten, Bilder und so weiter, noch viel mehr zu den Titeln finden. Hier ein Beispiel, die Biografie von Nils Torwalz ist 2001 auf Deutsch erschienen, und zu diesem Buch gibt es einen Wikidateeintrag, der hat eine sogenannte QID, jeder hat
Einträge in Wikidata, und da sind halt Informationen, wie das es sich um eine Ausgabe oder eine Version eines Buches handelt, dass der Titel, die Autorenangaben und alle möglichen anderen, beispielsweise auch die ESPN-Nummern, und ausgehend von dieser ESPN-Nummer, die steht ja auch im KZN Plus Katalog, lässt sich der gleiche
Datensatz im KZN Plus finden, und der Datensatz dort hat eine sogenannte PPN, und darüber kann in den KZN Plus reingesprungen werden, und auch dort gibt es halt viele Datenfelder und Inhalte, nun halt zu dem gleichen Datenobjekt.
So, wie funktioniert jetzt die Verlinkung? Wir haben einmal das Item in Wikidata zu dem Buch, und wir haben eine PPN, über die das gleiche Buch in KZN Plus beschrieben ist, und wenn jetzt erstmal festgestellt wurde, dass das gleiche Objekt hier ist, dann kann das in Wikidata eingetragen werden, und dazu gibt es die Property KZN Plus Edition PPN, mit dieser P6721, und wenn
die verwendet wird in einem Wikidata Datensatz, sieht das so aus, also hier habe ich eingetragen, die von dem Buch in Wikidata, und hier steht dann die PPN drinnen, über die
wieder in den KZN Plus gesprungen werden kann, und wichtig ist, dass halt so eine Property existiert, also das gibt es auch für andere Kataloge schon, und diese KZN Plus Edition Property, die wurde im April 2019 eingeführt, und dann erstmal noch nicht so viel verwendet, und jetzt habe ich so ein Bot geschrieben, und dann
kann das auch im großen Maßstab verlinkt werden. Ja, wie kommt man denn zum Bot? Also wenn erstmal dann, ja das können wir machen, macht das Sinn, einen eigenen Wikidata Account oder Wikimedia Account dafür zu erstellen, da ist ganz gut, wenn der Name irgendwas mit Bot am Ende ist, dann muss der Bot natürlich programmiert werden, dann sollte auch der Quellcode
bereitgestellt werden, dass andere überprüfen können, was denn dieses Programm macht, Programmierung ist nicht alles, sondern auch Großteil Dokumentation und Testen, oft ist es so, dass dann irgendwie beim Testen auffällt, dass manche Sonderfelder nicht funktionieren, oder wenn irgendwo mal der Server langsam ist, dass das alles abgefangen werden muss, wenn das getan ist, und man meint
okay, das kann man so laufen lassen, dann sollten wir das erstmal ein bisschen durchlaufen lassen, an ein paar Daten setzen, und dann der Community zum Review geben, das heißt einen Bot-Status beantragen, das ist alles hier in Wikidata auf der Seite zu Bots beschrieben,
es dauert dann oft mal ein paar Wochen, bis sich jemand dem angenommen hat, und wenn das bewilligt ist, dann kann man den Bot auch laufen lassen, so dass er im größeren Maßstab Datensätze einträgt. Natürlich heißt das auch, dass trotzdem noch überwacht werden muss, weil es kann ja
ja, also dann öfter mal schauen, was macht denn der Bot so. Ja, jetzt zu dem konkreten KZN Plus-Bot, da ist die Implementierung in einem Code Repository verfügbar, und es gibt eine Benutzerseite zu dem Bot, wo auch noch mal beschrieben ist, also hier kann man beispielsweise
machen gerade, also die Bearbeitung, die zuletzt gelaufen sind, dann ist hier zu sehen, aha, hier sind bestimmte Bücher und dort und hier ist auch noch mal ein Link auf den Quellcode, den ich jetzt kurz erklären möchte. Also in dem Fall ist der Bot programmiert als Shell-Script und er greift auf zwei Programme zu, die ich sehr empfehlen kann, und zwar ist es
zum einen Wikidata-Kommandozeilen kleint und zum anderen Katmandu. Aber was macht der denn hier? Also was sind das alles für kryptische Programmier-Inhalte? Zum einen, wichtig, erst mal wird eine Sparkel-Abfrage gemacht, dass geschaut wird, was gibt es denn für
Datensätze in Wikidata, die eine ESPN haben, aber noch keine KZN Plus-PPN. Und es ist noch die Bedingung drin, bitte nur Datensätze, die für die über Ausgaben, einzelne Ausgaben von Publikationen handeln. Das lässt sich dann noch eingrenzen, aber also das ist die wesentliche
Abfrage. Heraus kommt dann, wenn diese Sparkel-Abfrage mit dem Tool WD auf der Kommandozeile Wikidata-Klient ausgeführt wird, eine Liste von Wikidata-Identifying und ESPN-Nummern. Zur besseren Performance habe ich hier noch eingebaut, dass alle ESPN-Nummern in der Datei geschrieben werden und dann wird geguckt, habe ich die ESPN schon mal
gehabt und wenn ja, dann einfach weiter, damit halt nicht, wenn ich den Bot ein paar Mal hintereinander laufen lasse, die gleichen ESPNs nochmal überprüft werden. Ja, bei den ESPNs, die halt noch nicht dran waren, da wird dann im KZN Plus nachgeschlagen, guck mal hier
im KZN Plus, kennst du diese ESPN und wenn ja, gib mir mal die PPN aus. Und das ist das ganze hier, das ist ein oder zwei Zeilen sind das und zwar mit diesem Tool Katmandu, was ich auch sehr empfehlen kann und dort lassen sich so Abfragen machen, wie Ausgehen von einer Identifier, einen ganzen Datensatz nachschlagen, in dem Fall wird nur die PPN übernommen, aber
man könnte auch gucken, was in dem Datensatz im KZN Plus drin ist. Ja, also wenn jetzt dann eine PPN gefunden wurde, hier ist noch mal ein Test drin, wenn mehrere PPNs da sind, beispielsweise ist es nicht eindeutig, sind mehrere Ausgaben, die die gleiche ESPN haben, dann wird erstmal nichts gemacht zur Sicherheit, die Fälle muss man später sich anschauen, aber
es gibt genügend Fälle, wo es eindeutig ist und dann kann die PPN in Wikidata eingetragen werden, das passiert hier mit der Zeile hier unten, füge hinzu, die PPN. Vorher wird noch mal gecheckt, der Datensatz wird erst noch mal abgerufen in Wikidata und geguckt, vielleicht hat in der Zwischenzeit schon
jemand anders da eine PPN eingetragen, das muss jetzt nicht unbedingt notwendig sein, aber sicher ist sicher. Ja, aber im Wesentlichen ist es hier Abfrage der vorhandenen ESPN-Nummern, die noch keine nicht verknüpft sind, dann gucken, habe ich die schon, die ESPN-Nummer mir angeschaut, wenn
nicht in KCM Plus nachschlagen und wenn dort eindeutig eine PPN gefunden wurde, diese PPN dort hinzufügen. Und wenn es funktioniert, können wir uns mal angucken, wie das jetzt läuft, also jetzt habe ich das hier gestartet, gibt mal der Board das Skript, guck dann halt nach, die ESPN-Nummer,
da sind halt ganz viele, die wurden halt in KCM Plus nicht gefunden, aber hier ist jetzt eine dabei, da ist ein eindeutiger PPN und diese wird dann in Wikidata eingetragen. Und da ist schon die nächste, also da ist auch noch ein bisschen Warte, ein paar Sekunden Warten
dazwischen eingebaut, dass der Server nicht überlastet wird und so werden jetzt die hunderte von Datensätzen abgeglichen und miteinander verknüpft. Ja, weitere Informationen, wie gesagt, gibt es auf der Seite von dem Board selber oder ich gebe natürlich auch gerne
Auskünfte, um über die Implementierung oder wenn Interesse ist, was da weiteres mit diesen Daten zu machen. Vielen Dank.