Automatisierungsmöglichkeiten der Software OpenRefine
+
#bibtag21, 16.06.2021
OpenRefine
- grafische Oberfläche, die einer klassischen Tabellenverarbeitungssoftware ähnelt
- dient der Analyse, Bereinigung, Konvertierung und Anreicherung von Daten
- wird in der Regel lokal auf einem Computer installiert und über den Browser bedient
- Open-Source-Software mit aktiver Community
Live-Vorführung Teil 1
- Szenario: Mit OpenRefine Liste von Schriftsteller*innen (Name, Geburtsdatum) mit Wikidata abgleichen und darüber GND-ID und Geburtsort ermitteln.
- Vorgehen:
- Import CSV-Datei
- Ableitung Spalte Geburtsjahr aus Geburtsdatum
- Abgleich mit Wikidata und Anreicherung
- Export in TSV-Datei
Warum automatisieren?
- Zeitersparnis bei sich wiederholenden Aufgaben
- Reproduzierbarkeit durch eindeutige Dokumentation im Code
- Arbeitsteilung zwischen Metadaten-Expert*innen und IT-Personal
Client-Server-Architektur
- Web-Applikation mit klarer Trennung zwischen Datenhaltung und Benutzerschnittstelle
- Server: Java servlet ausgeführt in Jetty Webserver; Datenhaltung In-Memory bzw. dateibasiert
- Client: HTML, CSS und Javascript
- Server und Client kommunizieren über HTTP GET und POST (vgl. OpenRefine API)
Verfügbare Clients
* unterstützt OpenRefine 3.3 und neuer
openrefine-client
- Fork des Python-Clients mit erweitertem Kommandozeilen-Interface
- Als kleine ausführbare Datei (5 MB) erhältlich für Windows, Mac und Linux
- Kann somit unabhängig von der Programmiersprache in Workflows genutzt werden
Live-Vorführung Teil 2
- Automatisierung der manuellen Schritte aus Teil 1
- Wer es direkt selbst mit nachvollziehen möchte, kann jetzt eine Arbeitsumgebung via mybinder.org starten:
bibtag21-automatisierung-openrefine
- Vorgehen:
- OpenRefine starten
- openrefine-client ausführen
- Import CSV-Datei
- Anwendung der Undo/Redo-Historie
- Export in TSV
openrefine-client ausführen
Ergebnisse in OpenRefine prüfen
Workflow
Für eine vollständige Automatisierung müsste der gezeigte Ablauf noch als Workflow eingerichtet werden.
- Logging
- Scheduling
- Ergebnisvalidierung
- Fehlerbehandlung
- ggf. Parallelisierung
- ggf. Caching
Verfügbare Workflow-Tools für OpenRefine
Einschränkungen
- Für größere Datenmengen wird viel Arbeitsspeicher benötigt (Limitierung entfällt für OpenRefine 4.0, das auf Spark basieren wird)
- Undo/Redo-Historie im JSON-Dateiformat ist schwierig anzupassen, was die Nachnutzbarkeit einschränkt
- Das Entwicklerteam rät eher davon ab, komplexe Workflows mit OpenRefine umzusetzen
(vgl. Einschätzung auf der Mailingliste)
Fragen / Diskussion
- Für die Vorführung der Workflow-Tools fehlte die Zeit, daher separate Videokonferenz mit Live-Vorführung von openrefine-task-runner und Gelegenheit zu vertiefter Diskussion: Terminumfrage (28.6. - 9.7.)
- Spontane Fragen und Kommentare gerne jetzt