Workshop - Reconciling mit OpenRefine und Wikidata

Folie - Reconciling mit OpenRefine und Wikidata Folie - Reconciling mit OpenRefine und Wikidata

Wir nutzen die Daten von Wikidata über OpenRefine, gleichen damit Daten ab und laden Daten nach.

Arbeiten mit Wikibase in der OpenRefine Dokumentation.

Dieser Workshop wurde erstellt mit OpenRefine Version 3.5.0.
Dieser Workshop wurde zuletzt getestet mit OpenRefine Version 3.8.5.

Hintergrund

Eine weitere interessante Wissensquelle ist Wikipedia. Auch dort liegen strukturierte Daten vor. In dem Bildschirmfoto der Wikipediaseite der Stadt Spaichingen in Abbildung 1 sind zum Beispiel die Infobox und die Geokoordinaten der Stadt markiert.

Annotiertes Bildschirmfoto der Wikipedia Seite von Spaichingen.
Annotiertes Bildschirmfoto der Wikipedia Seite von Spaichingen.

Die Daten auf der Wikipediaseite direkt sind jedoch noch kein Linked Open Data (LOD). Diese Lücke schließt zum Beispiel das DBPedia Projekt, welches aus den Daten der Wikipedia einen Linked Data Graphen erstellt. Hier der Link zum DBPedia-Eintrag der Stadt Spaichingen.

Außerdem gibt es das Wikidata-Projekt, welches ebenfalls semantische Daten beinhaltet. Das entsprechende Datenobjekt ist auf jeder Wikipediaseite verlinkt. Der Link ist in Abbildung 1 markiert. Hier der Link zum Wikidata-Eintrag der Stadt Spaichingen.

Die Auswahl der Datenquelle (Wikipedia, Wikidata, oder DBPedia) ist nicht nur abhängig von der verfügbaren Technologie (für Wikidata gibt es einen Reconciliation Service), sondern auch eine Frage der Lizenzbedingungen. So stehen die Daten in der DBPedia als abgeleitetes Werk von Wikipedia unter einer CC BY-SA 3.0 Lizenz, wohingegen die Daten in Wikidata analog zur GND unter einer CC0 1.0 Lizenz stehen, was die Weiternutzung zum Beispiel für Erschließungsdaten vereinfacht.

flowchart LR gnd[("GND")] wikipedia[("Wikipedia")] wikidata[("Wikidata")] dbpedia[("DBPedia")] cc0[["fab:fa-creative-commons fab:fa-creative-commons-zero CC0 1.0"]] cc-by-sa[["fab:fa-creative-commons fab:fa-creative-commons-by fab:fa-creative-commons-sa CC BY-SA 3.0"]] gnd & wikidata -.-> cc0 dbpedia & wikipedia -.-> cc-by-sa wikidata --> wikipedia --> dbpedia

Vorbereitung

Datensatz laden

Wir erstellen ein neues Projekt mit dem Namen “Bundeslaender” aus der Datei 07_bundeslaender.csv.

💾 Wir benötigen die folgende Datei (Rechtsklick und “Ziel speichern unter…”):

Bundeslaender als CSV

Diese Datei besteht nur aus einer Spalte mit der Wikidata-Kennung (QID).

Reconciliation Service hinzufügen (optional)

OpenRefine 3.5 kommt schon mit Wikidata als voreingestelltem Reconciliation Service.

Es ist jedoch auch möglich, Wikidata auf Deutsch zu verwenden.

Dafür fügen wir den Service in deutscher Sprache zu OpenRefine hinzu. Im Spaltenmenü finden wir den in der Abbildung gezeigten Dialog über “QID" "Reconcile" "Start reconciling”.

Bildschirmfoto von OpenRefine Reconciliation Services.
Bildschirmfoto von OpenRefine Reconciliation Services.

Über “Add Standard Service” geben wir die folgende URL ein:

https://wikidata.reconci.link/de/api

Aufgabe 1: Daten nachladen

Wir wollen die folgenden Spalten zu unserem Datensatz aus Wikidata ergänzen:

  • Name des Bundeslandes
  • GND-ID des Bundeslandes
  • Hauptstadt des Bundeslandes
  • Geokoordinaten der Landeshauptstadt im WGS84 Format
  • Zuständiges Archiv des Bundeslandes
  • GND-ID des zuständigen Archivs
  • ISIL des zuständigen Archivs
  • Webseite des zuständigen Archivs

Dafür nutzen wir im Spaltenmenü der Spalte “QID” die Funktion “QID" "Reconcile" "Use values as identifiers” und wählen den Service “Wikidata (en)” (oder die deutschsprachige Alternative) aus.

Anschließend können wir ebenfalls über das Spaltenmenü mit “QID" "Edit column" "Add column from reconciled values…” weitere Daten nachladen.

Das Ergebnis sieht dann ungefähr wie im folgendem Bildschirmfoto aus.

Bildschirmfoto von OpenRefine Ergebnis.
Bildschirmfoto von OpenRefine Ergebnis.
Hinweise:

  • Die Spaltennamen stimmen nicht unbedingt mit der Bezeichnung in Wikidata überein.
  • Einige Daten erhalten Sie nicht direkt über die Spalte “Bundesland”.
  • Sollten Sie für Zeilen keine Ergebnisse erhalten, prüfen Sie ob sich ggf. noch Leerzeichen im Datensatz befinden.

Aufgabe 2: Daten verknüpfen

Hier ist eine Liste der Mitgliedstaaten der Europäischen Union (Stand November 2021).

 - Belgien
 - Bulgarien
 - Dänemark
 - Deutschland  
 - Estland
 - Finnland
 - Frankreich
 - Griechenland
 - Irland
 - Italien
 - Kroatien
 - Lettland
 - Litauen
 - Luxemburg
 - Malta
 - Niederlande
 - Österreich
 - Polen
 -  Portugal
 - Rumänien
 - Schweden
 - Slowakei
 - Slowenien
 - Spanien
 - Tschechien
 - Ungarn
 - Zypern

Wir legen diese Liste via Zwischenablage (“Clipboard”) als OpenRefine Projekt an. Nachdem wir die Daten aufgeräumt haben, starten wir den Abgleich mit Wikidata via “Land" "Reconcile" "Start reconciling” und wählen den Service “Wikidata (en)” (oder die deutschsprachige Alternative) aus.

Fazit

Mit nur einem Klick können wir über die gleiche Oberfläche Daten in OpenRefine nicht nur mit der Gemeinsamen Normdatei (GND) via dem lobid API abgleichen, sondern auch mit Wikidata oder einer spezifischen Wikibase-Instanz wie zum Beispiel FactGrid für historische Daten.


Der OpenRefine Workshop für Einsteiger ist an dieser Stelle zu Ende. Bei Interesse werden Themen und Konzepte vertieft im OpenRefine Workshop für Fortgeschrittene.

Benjamin Rosemann
Benjamin Rosemann
Data Scientist

Ich evaluiere KI- und Software-Lösungen und integriere sie in den Archivalltag.

Ähnliches