Workshop - Reconciling mit OpenRefine und der GND
Wir nutzen die Daten der GND über OpenRefine, gleichen damit Daten ab und laden Daten nach.
Reconciling in der OpenRefine Dokumentation.
Dieser Workshop wurde zuletzt getestet mit OpenRefine Version 3.8.5.
Hintergrund
Die Gemeinsame Normdatei (GND) wird als Linked Open Data (LOD) angeboten. Das ermöglicht uns Daten mit eindeutigen Identifikatoren (GND-ID) zu verknüpfen.
Mit OpenRefine können wir mit der GND zwei Dinge tun:
- basierend auf GND-IDs weitere Daten nachladen (Aufgabe 1).
- via Reconciliation Service GND-IDs für Entitäten suchen (Aufgabe 2).
Kurzer Exkurs zur GND als LOD
Die GND als LOD bedeutet, dass die Daten nicht in einer klassischen Datenbank angeboten werden, sondern mit einer Ontologie versehen wurden. Die Hierarchie der Ontologie ist in Abbildung 1 visualisiert.
Neben den Typen der Objekte in der GND Ontologie gibt es auch vordefinierte Verbindungen zwischen diesen Objekten.
Ein Beispiel ist im folgenden Diagramm für einen Teil der GND-Daten für Winfried Kretschmann gezeigt.
Beispielsweise gibt es die bidirektionale Verbindung hasSpouse
, zwischen ihm und Gerlinde Kretschmann.
Oder die unidirektionale Verbindung placeOfBirth
zwischen der Person Winfried Kretschmann und dem Ort Spaichingen.
Optional kann in einer Ontologie festgelegt werden, dass zum Beispiel eine Verbindung wie placeOfBirth
nur zwischen einer Person und einem Ort existieren kann.
Vorbereitung
Datensatz laden
Wir erstellen eine neues Projekt mit dem Namen “Kretschmann Kabinett III” aus der Datei 06_kretschmann-kabinett-iii.csv
.
Kretschmann III als CSV💾 Wir benötigen die folgende Datei (Rechtsklick und “Ziel speichern unter…”):
Diese Datei besteht nur aus einer Spalte mit GND-IDs.
Reconciliation Service hinzufügen
Die GND selbst wird von der DNB aktuell als kompletter Datensatz zur Verfügung gestellt und nicht als Service. Daher nutzen wir den GND Service von lobid. Über diesen kann die GND via einer Online-Oberfläche durchsucht werden. Es gibt aber auch einen so genannten Reconciliation Service, mit dem direkt via OpenRefine Daten mit den Daten in der GND abgeglichen werden können.
Dafür fügen wir den Service zu OpenRefine hinzu. Im Spaltenmenü finden wir den in Abbildung 2 gezeigten Dialog über “GND-ID" "Reconcile" "Start reconciling”.
Über “Add Standard Service” geben wir die folgende URL ein:
https://lobid.org/gnd/reconcile/
Aufgabe 1: Daten nachladen
Wir wollen die folgenden Spalten zu unserem Datensatz aus der GND ergänzen:
- Name der Person
- Geburtsdatum
- Geburtsort
- GND-ID des Geburtsortes
- Liste der Berufe der Person
Dafür nutzen wir im Spaltenmenü der Spalte “GND-ID” die Funktion “GND-ID" "Reconcile" "Use values as identifiers” und wählen den Service “GND reconciliation for OpenRefine” aus.
Anschließend können wir ebenfalls über das Spaltenmenü mit “GND-ID" "Edit column" "Add column from reconciled values…” weitere Daten nachladen.
Das Ergebnis sieht dann ungefähr wie in Abbildung 3 aus.
Hinweise:
- Die Spaltennamen stimmen nicht unbedingt mit der Bezeichnung in der GND überein.
- Die GND-ID des Geburtsortes erhalten wir über die Spalte “Geburtsort”.
- Sollten Sie für Zeilen keine Ergebnisse erhalten, prüfen Sie ob sich ggf. noch Leerzeichen im Datensatz befinden.
Aufgabe 2: Daten verknüpfen
Hierfür verwenden wir den Gurs-Datensatz, der uns über den kompletten Workshop begleitet.
In der Spalte “Geburtsort” sind nicht alle Orte mit GND-IDs verknüpft. Wir filtern diese Orte und verknüpfen sie mit GND-IDs.
Dafür nutzen wir im Spaltenmenü der Spalte “Geburtsort" "Reconcile" "Start reconciling” und wählen den Service “GND reconciliation for OpenRefine” aus.
Die GND-ID können wir anschließend wie in Aufgabe 1 als extra Spalte hinzufügen. Anschließend verbinden wir die neue Spalte “GND-Nummer” mit der Spalte “Geburtsort (GND-ID)” (siehe Aufgabe 5 in 03 Daten mit OpenRefine umwandeln).
Fazit
Durch die Implementierung und Integration des Reconciliation Service API in OpenRefine und der GND von dem hbz gestaltet sich der Abgleich von ganzen Datensätzen mit der GND auch für technische Laien als machbar. Im Workshop für Fortgeschrittene besprechen wir, wie wir die Treffer beim Abgleich mit dem lobid API verbessern können.
Im nächsten Teil beschäftigen wir uns mit dem Abgleich von Daten in OpenRefine mit Wikidata.