Tag 7

OpenRefine

OpenRefine ist eine plattformunabhängige Java-Applikation, hauptsächlich für die Datenbereinigung, -analyse und -transformation. Ursprünglich wurde OpenRefine von der Firma Metaweb entwickelt, ca. 2010 von Google aufgekauft und wenige Jahre später für die OpenSource-Community bereitgestellt. Heute ist es also Open Source und wird auch finanziell unterstützt, z.B. von der Chan Zuckerberg Initiative.

Dies sind die häufigsten Einsatzbereiche von OpenRefine (2020):

  1. Normalisieren (aufeinander abstimmen) von Daten
  2. Daten vorbereiten für die Speicherung im System
  3. Datentransformation (in ein anderes Format)
  4. Abstimmung anderer Daten auf eigene Daten
  5. Daten verstehen, die einem selber nicht gehören

Und dies hier sind die Anwendungsfelder von OpenRefine, ebenfalls sortiert nach Häufigkeit (2020):

  1. Bibliotheken
  2. Semantic Web
  3. Recherche
  4. Data Science

OpenRefine Wird in der Regel lokal installiert und läuft über den Browser. Theoretisch kann es aber auch über Server installiert werden. Da die Software aber nicht konkret dafür ausgelegt ist, muss alles selber konfiguriert werden, was ausreichende Kenntnisse voraussetzt.

OpenRefine ist vor allem für tabellarische Daten geeiget: Der Import von Daten in TSV, CSV, XML, JSON und Google Spreadsheets ist möglich. Auch RDF-Tripel können verarbeitet werden. Ausserdem funktioniert der Import auch aus vielen verschiedenen Textdateien – sofern die richtige Syntax gegeben ist: Die einzelnen Datensätze in den Textdateien müssen durch Trennzeichen (meist eine Pipe “|”) oder Spalten auseinandergehalten werden. Aus meiner Sicht ist das aber eine gut zu bewältigende Anforderung. Zu guter Letzt ist es auch noch möglich, Daten direkt per URL in die Tabellen einzuspeisen.

Der Export ist auch wieder in verschiedenen Formaten möglich: TSV, CSV, Excel, HTML-Tabellen und Google Spreadsheets. Ausserdem können für den Export eigene Templates definiert werden – eine sehr mächtige Funktion. Die Template-Export-Funktion werde ich zusammen mit der Reconciliation-Funktion noch in einem zusätzlichen Tagebucheintrag erläutern.

Die Basisfunktionen von OpenRefine werden in einem Tutorial von der LibraryCarpentery vorgestellt:

https://librarycarpentry.org/lc-open-refine/

Ich finde OpenRefine ein sehr hilfreiches und übersichtliches Tool. Es gibt sehr viele mögliche Funktionen und diese sind teilweise sehr mächtig. Fazit: Ich kann OpenRefine nur empfehlen.

Ähnliche Tools

OpenRefine ist selbstverständlich nicht das einzige Tool für die Verarbeitung von Daten. Im letzten Unterrichtsblock haben wir bereits MarcEdit kennen gelernt. Ich bin kein Fan davon – die Bedienung ist sehr umständlich. Es gibt aber auch andere Tools, zu denen ich aber nur sehr wenig Literatur gefunden habe. Ein Programm für das Metadatenmanagement Metadatenmanagement ist KNIME (Konstanz Information Miner). Im folgenden stelle ich aber nur Catmandu und Metafacture vor:

Catmandu

Catmandu ist ein Tool, dass über die Kommandozeile verwendet wird. Ursprünglich als Teil vom LibreCat-Projekt entwickelt hat es inzwischen ein internationales Entwicklungsteam und viele unterstützende Institutionen. Es läuft über eine Perl-Schnittstelle. Catmandu bietet einen leichten Einstieg in das Programm und vielfältige Optionen. Ziel war es zu Beginn, ein Basis-Programm mit Plugins zu erstellen. In Catmandu werden diese Plugins als Module bezeichnet. Für viele verschiedene Praxisfälle gibt es passende Module.

Die Zielgruppen von Catmandu sind digitale Bibliotheken, Forschungsdienste und andere Open-Data-Anwendungen. Daten können über Protokolle vie OAI-PMH, SRU, SPARQL und Linked Data Fragments heruntergeladen werden. Unterstützte Formate sind beispielsweise MARC, MODS und Dublin Core. Auch die Erstellung von RDF-Tripeln ist möglich. Daten können ausserdem über Datenbanken wie Solr, Elasticsearch and MongoDB abgerufen werden.

Metafacture

Metafacture ist ein Toolkit, das sich auf Bibliotheks-Metadaten fokussiert. Wie Catmandu bietet es viele verschiedene Tools zur Metadaten-Transformation. Somit ist es ebenfalls sehr flexibel einsetzbar. Es stellt vielseitige Tools zum lesen, schreiben und transformieren von Daten bereit. Hauptsächlich soll es der Verarbeitung von halb-strukturierten Daten dienen. Die Eingabe wird mit selbst aufgestellten Transformationsregeln bearbeitet und wieder ausgegeben. Unterstützt werden verschiedene Input-Formate wie MAC, MARC und METS. Auch die Output-Formate sind divers. Metafacture kann sowohl als eigenständiges Tool als auch als Java-Bibliothek in eigenen Projekten verwendet werden. Eine Einführung findet sich unter diesem Link.