Automatisierungsmöglichkeiten der Software OpenRefine

+


Felix Lohmeier

#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:
    1. Import CSV-Datei
    2. Ableitung Spalte Geburtsjahr aus Geburtsdatum
    3. Abgleich mit Wikidata und Anreicherung
    4. Export in TSV-Datei

Import


Transformation

Anreicherung

Undo / Redo

Export

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:
    1. OpenRefine starten
    2. openrefine-client ausführen
      • Import CSV-Datei
      • Anwendung der Undo/Redo-Historie
      • Export in TSV

OpenRefine starten


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)

Praxisbeispiele

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

Credits / Lizenz