Workshop - Projekte in OpenRefine laden und verwalten
Wir laden mehrere Dateien in OpenRefine Projekte und bearbeiten deren Metadaten.
Projekte in der OpenRefine Dokumentation.
Dieser Workshop wurde zuletzt getestet mit OpenRefine Version 3.8.4.
Hintergrund
OpenRefine kann unterschiedliche Dateiformate über verschiedene Quellen in das interne Projektformat importieren. Der “übliche” Weg ist der Import von einer oder mehreren Dateien, weshalb wir uns vorerst darauf beschränken.
Aufgabe 1: Eine Datei laden
Wir werden im Laufe des Workshops häufiger mit einem Ausschnitt der Gurs-Deportationsliste arbeiten, die vom Generallandesarchiv Karlsruhe recherchiert und im FDMLab bereinigt und mit weiteren Normdaten ergänzt wurde.
Für diesen Workshop wurde die Liste nachträglich mit einigen “Problemen” versehen, die wir in den nachfolgenden Aufgaben bereinigen werden.
Für diese Aufgabe wollen wir erst einmal nur die Datei 01_gurs.csv
in das Projekt “Gurs” laden.
Gurs als CSV💾 Wir benötigen die folgende Datei (Rechtsklick und “Ziel speichern unter…”):
Beim Projektimport verwenden wir die folgenden Einstellungen:
- Project name: Gurs
- Tags: Gurs, GND, Workshop, 2024
Die Optionen für das Format sind als Bildschirmfoto hinterlegt.
Aufgabe 2: Mehrere Dateien gleichzeitig laden
Wir haben die Beteiligten des Kabinetts Kretschmann III getrennt nach Frauen und Männern in zwei CSV Dateien gespeichert (01_kretschmann-kabinett-frauen.csv
und 01_kretschmann-kabinett-maenner.csv
).
Kretschmann Kabinett Frauen als CSVKretschmann Kabinett Maenner als CSV💾 Wir benötigen die folgenden zwei Dateien (Rechtsklick und “Ziel speichern unter…”):
Diese Dateien laden wir gemeinsam in ein OpenRefine Projekt.
Beim Projektimport verwenden wir die folgenden Einstellungen:
- Project name: Kretschmann Kabinett III
- Tags: GND, Workshop, 2024
Die Optionen für das Format sind als Bildschirmfoto hinterlegt.
Aufgabe 3: Projektdaten anpassen
OpenRefine bietet noch mehr Einstellungen für Projekte, als die die wir beim Erstellen angeben. Dazu gehören zum Beispiel der Name des Erstellers, ein Vorschaubild, die Lizenz, …
Um diese anzupassen, verwendet man den Link “About” in der Projektübersicht wie in Abbildung 3 und fügt die Informationen via “Edit” ein. Um dies einmal durchzuführen, ergänzen wir bei dem Gurs-Projekt im Feld Homepage die URL des LABW, wie in Abbildung 4 gezeigt.
https://www.landesarchiv-bw.de
Aufgabe 4: Aktionsverlauf
OpenRefine speichert Änderungen automatisch und erstellt einen Verlauf aller auf ein Projekt angewendeter Aktionen. Diese können im Tab “Undo/Redo” angesehen, rückgängig gemacht oder importiert werden.
Um das besser kennen zu lernen laden wir ein OpenRefine Projekt und übertragen die Änderungshistorie auf ein Projekt von uns.
Kretschmann Kabinett (Vorlage) als OpenRefine Projektdatei💾 Wir benötigen die folgende Datei (Rechtsklick und “Ziel speichern unter…”):
Wir laden die OpenRefine Projektdatei über das in Abbildung 5 gezeigte Formular zum Importieren von OpenRefine Projekten.
Anschließend öffnen wir den Reiter für die Änderungshistorie in OpenRefine. Dort werden automatisch alle automatisch gespeicherten Arbeitsschritte gezeigt. Frühere Zustände des Projektes können durch Anklicken des entsprechenden Eintrages in der Änderungshistorie wiederhergestellt oder überschrieben werden. Geht man in der Änderungshistorie zum Beispiel zu Schritt 2 zurück und fügt dann eine neue Änderung ein, dann werden die nachfolgenden Schritte (3-4) überschrieben.
Wie in Abbildung 6 gezeigt können die Arbeitsschritte eines Projektes auch extrahiert werden.
Der in Abbildung 7 gezeigte Dialog zum Extrahieren erlaubt es auch einzelne Schritte zum Export aus- oder abzuwählen. Wir extrahieren den kompletten Text und kopieren ihn in die Zwischenablage.
Der kopierte Text sieht in etwa wie folgt aus, wobei die Beschreibung (description) nachträglich mit einer deutschsprachigen Erklärung versehen wurde.
[
{
"op": "core/column-split",
"engineConfig": {
"facets": [],
"mode": "row-based"
},
"columnName": "Bevorzugter Name",
"guessCellType": true,
"removeOriginalColumn": true,
"mode": "separator",
"separator": ",",
"regex": false,
"maxColumns": 2,
"description": "Spalte nach Vorname und Nachname auftrennen."
},
{
"op": "core/column-rename",
"oldColumnName": "Bevorzugter Name 1",
"newColumnName": "Nachname",
"description": "Spalte Bevorzugter Name 1 in Nachname umbenennen."
},
{
"op": "core/column-rename",
"oldColumnName": "Bevorzugter Name 2",
"newColumnName": "Vorname",
"description": "Spalte Bevorzugter Name 2 in Vorname umbenennen."
},
{
"op": "core/text-transform",
"engineConfig": {
"facets": [],
"mode": "row-based"
},
"columnName": "Geschlecht",
"expression": "grel:if(value == \"Weiblich\", \"w\", \"m\")",
"onError": "keep-original",
"repeat": false,
"repeatCount": 10,
"description": "Männlich und Weiblich als m und w kodieren."
}
]
Um die Änderungen in unserem eigenen Projekt anzuwenden öffnen wir das Projekt “Kretschmann Kabinett III”, öffnen dort den Tab “Undo/Redo”, drücken auf “Apply” und kopieren wie in Abbildung 8 den Text in den Dialog.
Da wir in unserem Projekt die gleichen Spaltennamen haben, wie im Vorlagenprojekt, konnten wir die Änderungen direkt übernehmen und haben nun den gleichen Stand.
Fazit
OpenRefine öffnet viele unterschiedliche Dateitypen, extrahiert Archive, rät die Einstellungen für den Import und bietet mit der Vorschau eine tolle Möglichkeit die Einstellungen anzupassen. Das Metadatenmanagement der Projekte ist etwas lieblos implementiert. Die Möglichkeit (fast) jeden Bearbeitungsschritt wieder rückgängig zu machen gibt die Sicherheit, auch mal Datenbearbeitungen ausprobieren zu können, ohne sich in verschiedenen Versionen einer “Datei” zu verlaufen. Beim Verlauf der Bearbeitungsschritte wäre es noch praktisch, wenn man verschiedene Stände markieren könnte, um schneller dorthin zurückzuspringen.
Im nächsten Teil lernen wir, wie wir Daten in OpenRefine filtern und sortieren können.