We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Automatisierungsmöglichkeiten der Software OpenRefine

00:00

Formal Metadata

Title
Automatisierungsmöglichkeiten der Software OpenRefine
Title of Series
Number of Parts
43
Author
License
CC Attribution 3.0 Germany:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Die Open-Source-Software OpenRefine ist bekannt für ihre grafische Oberfläche, die einem Tabellenverarbeitungsprogramm ähnelt. Sie wird oft als Desktop-Software installiert und zur Analyse, Bereinigung und Anreicherung von Metadaten eingesetzt. Laut Nutzerstudie von 2020 [1] sind Bibliothekar*innen mit rund 38% die größte Nutzergruppe. Weniger bekannt sind die Automatisierungsmöglichkeiten von OpenRefine. Durch die Client-Server-Architektur lässt sich OpenRefine auch auf einem Webserver installieren und über die Kommandozeile steuern. Das hat den Charme, dass Transformationsregeln in der Oberfläche spielerisch erprobt werden können und dann beispielsweise täglich automatisiert auf neue Datenlieferungen angewendet werden können. Die Automatisierungsmöglichkeiten werden am Beispiel der Open-Source-Software openrefine-client [2] demonstriert. Der Hauptbestandteil des Vortrags ist eine Live-Präsentation, die bei Interesse auch zeitgleich selbst nachvollzogen werden kann. Dafür werden über openrefineder [3] On-Demand-Server mit Jupyter Notebooks bereitgestellt, die ohne Installation im Browser aufgerufen werden können.
18
Thumbnail
21:25
Meeting/InterviewComputer animation
Computer animation
Computer animation
Computer animation
Computer animation
Computer animation
Transcript: German(auto-generated)
Mein Vortrag ist ein bisschen speziell, weil es eigentlich voraussetzt, dass Sie die Software Open Refine schon ein wenig kennen. Jedenfalls möchte ich da ein bisschen mehr in die Tiefe gehen. Aber auch für diejenigen, die die Software noch nicht gesehen haben, würde ich am Anfang eine kurze Einführung geben. Im abstract habe ich geschrieben, dass also die Software Open Refine vor allen Dingen für die manuelle
Bearbeitung bekannt ist. Es hat eine grafische Oberfläche. Man kann dort verschiedene Daten, Metadaten ist schon angesprochen worden, aber auch andere Tabellendaten hineinladen und dann verändern und hinterher wieder exportieren in verschiedene Formate. Und deshalb ist es bei der letzten Nutzerstudie, die diese Community durchgeführt
hat, waren eben auch 38 Prozent Bibliothekarinnen und Bibliothekare dabei, aber eben nicht ausschließend. Es ist eine ganz interessante Software, die es schon länger gibt. Und ich möchte heute dann mit meinen Folien und der Live-Präsentation quasi noch Möglichkeiten aufzeigen, die weniger bekannt sind, nämlich wie man diese Software, die eigentlich als Desktop Software gedacht ist, dann
automatisiert nutzen, also für Automatisierung nutzen kann, wie man sie automatisieren kann. Das heißt, wenn man einmal einen Workflow erarbeitet hat, wie man dann diesen erneut oder eben auf einem Server voll automatisiert ablaufen lassen kann. Ja, dazu habe ich
jetzt meinen Bildschirm geteilt und zeige Ihnen hier die Präsentationsfolien, die ich vorbereitet habe, die ich jetzt in den Chat eingefügt habe. Ich habe auch ein Video dazu, wo ich die Folien und die Begleitmaterialien in den Chat eingefügt habe. Falls es also holprig werden sollte bei der Präsentation, können Sie sich das dann auch individuell anschauen. Kurz zu OpenRefine. OpenRefine
hat, wie gesagt, eine grafische Oberfläche. Das unterscheidet das Tool von anderen sehr guter Software wie Katmandu oder Metafacture, was auf die Metadaten spezialisiert ist. OpenRefine ist ein bisschen allgemeiner, weil es auch in anderen Communities eingesetzt wird. Also keine Bibliotheks-spezifische Software. Deshalb kennt
es auch viele Metadatenstandards nicht. Mark 21 zum Beispiel kann man nur als XML bearbeiten. Die Software weiß einfach nicht genau, welches Feld dann was bedeuten soll. Der Vorteil ist aber eben, dass es dafür eine grafische Oberfläche hat und dass es eben klassischer Tabellenverarbeitungssoftware
ist, was den Einstieg ein bisschen leichter macht. Mit OpenRefine kann man Daten analysieren, bereinigen, konvertieren und auch anreichern. Die Software ist vor allem bekannt dafür, dass man dort Daten mit Wikidata abgleichen kann und dann auch Daten aus Wikidata hinzuspielen zu den Daten, die man schon hat. Und es gibt auch für viele andere Datenquellen mittlerweile
solche Schnittstellen für OpenRefine, zum Beispiel auch für die GND über den Service von Lobbit. Wie gesagt, OpenRefine wird lokal normalerweise installiert und über den Browser bedient und hat eine ziemlich aktive Community. Ich möchte dann gleich an Betracht der kurzen Vortragszeit in den ersten Teil der
Live-Vorführung gehen und mit Ihnen ein ganz kleines Beispiel durchgehen. Ich habe unter anderem für das Deutsche Literaturarchiv in Marbach gearbeitet und habe hier mal eine Liste von Schriftstellerinnen und Schriftstellern Ernst Jünger, Hilde Dumien, Hermann Hesse und so weiter. Hier zehn verschiedene mal aufgeführt und dazu das
Geburtsdatum in verschiedenen Formaten. Und diese Daten würde ich einfach mal mit Ihnen schnell, damit Sie gleich einen visuellen Eindruck haben, eben mit dieser Software OpenRefine mal bearbeiten. Das erste wäre, die Daten einzuspielen. Und wenn ich also hier was aus der Zwischenablage oder auch die Datei hochlade, bekomme ich einen Import-Screen, wo also schon deutlich
wird, dass also viele verschiedene Formate hier in OpenRefine geladen werden können. Also Tabellendaten, auch Textdaten, wenn sie irgendwie strukturiert sind, zum Beispiel mit bestimmten Abstand, Zeilenbreite oder sowas. Dann haben wir Jason, Mark,
das wird aber einfach nur in XML umgewandelt. Jason, LD, RDF, Wiki, Text, XML-Daten und eben auch Excel oder die Pro Office, Open Office Dokumente. Bei jedem dieser Importer, darauf kann ich jetzt im Detail nicht eingehen, gibt es auch dann entsprechende Konfigurationsmöglichkeiten, sodass also auch nicht standardisierte
Daten gut eingelesen werden können, wenn da kleinere Fehler drin sind oder ungewöhnliche Trendzeichen verwendet werden. Das ist ja auch bei CSV-Daten oft so ein Ärgernis. Das könnte man hier einstellen. Bei den Daten, die ich hier eingegeben habe, funktioniert das direkt. Ich habe also zwei Spalten, Name, Geburtsdatum und mache deshalb
gar nichts anderes, als das Projekt dann anzulegen. Das Projekt heißt jetzt, das sind die Daten, die in OpenRefine geladen wurden. Damit kann man also dann verwalten, wenn man mehrere Daten hat. Und ich möchte Ihnen eine ganz kleine Transformation zeigen. Wie gesagt, es ist zu wenig Zeit, um den ganzen Funktionsumfang abzubilden, aber damit Sie so ein bisschen Gespür dafür
haben, ist also hier dieses Tabellen- Format. Wir haben jetzt hier 10 Zeilen. Man könnte wie beim Bibliotheks- Katalog jetzt weiter blättern, wenn es mehr Zeilen gäbe oder auch die Ansicht hier verändern. Dann kann man also durchblättern und dadurch können eben auch größere Datenmengen performant hier angezeigt werden. Und einen Schritt, den ich jetzt mal machen würde bei diesem Szenario,
wäre aus dem Geburtsdatum mal das Geburtsjahr zu extrahieren. Ich habe hier verschiedene Daten in den Beispieldaten angelegt, also mit Punkt, mit Monat. Und da wäre eine Möglichkeit, jetzt eine neue Spalte anzulegen. Ich nenne die mal Geburtsjahr. Und dafür gibt es dann so eine interne Scriptsprache, die nennt sich General Refine Expression
Language. Man kann aber auch Python verwenden. Und da gibt es ganz viele Funktionen. Ich nutze jetzt nur mal die eine, dass ich nur die letzten vier Zeichen übernehme. Man hat dann hier so eine Vorschauansicht. Und dann habe ich jetzt auf diese Art und Weise mit einer relativ einfachen Transformation hier eine neue Spalte eingefügt. Es gibt auch hier
ganz viel voreingestellte Transformationen, die man alle nutzen kann. Und das Schöne ist bei OpenRefine, dass es solche Textfassetten gibt, auch wie von Bibliotheks Discovery System bekannt, dass man dann eben sich relativ schnell durch die Daten durchhangeln kann. Mein Vortrag soll aber über die Automatisierungs
Möglichkeiten gehen. Deshalb breche ich an der Stelle hier den Einstieg in OpenRefine ab, setze das einfach mal voraus. Sie können sich das ja auch bei Interesse dann selber anschauen. Und was ich da noch gerne zeigen möchte, weil das eben ein Kernfeature ist, was eben auch nicht jede Software so
mitbringt für die Datenbereinigung, ist der Abgleich von Daten mit Wikidata. Dazu kann ich jetzt hier die Namenspalte nehmen und diesen Reconciliation nennen die das, das vielleicht etwas platt übersetzt Versöhnung, also ein Abgleich der Daten. Und da nutze ich jetzt mal
einen abweichenden Link, aus dem der voreingestellt ist, weil der ein bisschen schneller geht. Nicht, dass wir hier lange warten müssen bei dem Vortrag. Da gibt es also zwei verschiedene Angebote für Wikidata und ich nutze jetzt mal den vermeintlich schnelleren. Ja, ich hoffe, es klappt so weit. Jetzt muss ich nur diese Sache
hier wegkriegen. Ah, gut, das liegt wahrscheinlich an dem Zoom, den ich eingestellt habe. Jetzt habe ich es weggekriegt. Okay, also dieser Abgleich gegen Wikidata läuft so ab, dass man also erst mal einen Typ von Daten auswählt, die dafür
zu passen würden. Und das ist jetzt relativ unspezifisch, aber Mensch ist auf jeden Fall richtig für die Personennamen, die ich da angegeben habe. Deshalb lasse ich das einfach mal so stehen. Und wenn ich weitere Informationen habe zu den Personen, dann kann ich die verwenden. Zum Beispiel das Geburtsjahr ist natürlich ein guter Indikator, wenn
auch immer noch nicht eindeutig. Aber ich hatte es getestet für die Personen, die ich jetzt hier habe, funktioniert das einigermaßen. Da würde ich also jetzt das Geburtsjahr hierfür mit mit abgleichen gegen das Wikidata, gegen die Wikidata Property für das Geburtsdatum. Wenn ich das mache, gleich dem Hintergrund, wir
sehen es oben an diesem kleinen Scrollrädchen, gleich dann OpenRefine das mit Wikidata ab. Und wenn es eindeutige Matches gibt aus den beiden Informationen, Name und Geburtsjahr, dann wird es automatisch zugeordnet. Falls nicht, kann man dann intellektuell durchgehen. Da gibt es dann so Checkboxen, die
man anklicken kann und hat auch diese Vorschauansicht. Da gibt es dann manchmal zehn verschiedene Treffer und dann kann man sich da die Personen auswählen. Wir haben hier so eine kleine Vorschauansicht, das ist ganz hübsch. Und wenn ich einmal diese Daten verbunden habe mit Wikidata, dann kann ich darüber auch über diese Funktionen,
add columns from reconciled values, kann ich mir weitere Informationen zu diesen Personen hinzuziehen. Ich hatte zum Beispiel den Daten, den ich eingestellt habe, noch nicht den Geburtsort. Den kann ich also dann hier aus Wikidata mit übernehmen.
Und die zweite Sache habe ich jetzt gerade vergessen, deswegen springe ich einmal in die Folien. Was wollte ich noch haben? Die GND-ID, genau. Die GND-ID, das ist natürlich auch hilfreich, um dann weitere Abfragen zum Beispiel gegen die GND dann zu machen. So kann man also Wikidata auch als Hub für Normdaten-
identifier nutzen. Wenn man also erstmal einen Abgleich hat, kommt man auch zu weiteren IDs. Auf diese Art und Weise kann man also mit OpenRefine eine relativ schöne Datenbereinigung, Anreicherungen machen. Und was jetzt für meinen Vortrag eigentlich der Kern sein
soll, ist, dass es hier eine undo und redo Historie bei OpenRefine gibt. Die ist ein bisschen, also die Historie selber nicht versteckt, aber die Möglichkeiten, die man damit hat, ist ein bisschen versteckt, weshalb ich das eben jetzt im weiteren Vortrag vorstellen möchte. Wir haben also jetzt hier drei Schritte durchgeführt, eine neue Spalte angelegt, dann den Abgleich
gegen Wikidata und dann Daten ergänzt. Und diese Anweisung, was OpenRefine dort gemacht hat, das kann ich mir jetzt hier in einer Konfigurationsdatei anzeigen. Ich kann auch nur bestimmte Schritte übernehmen und habe rechts in einem JSON-Dateiformat mit der
internen Sprache, sage ich mal, von OpenRefine, Operation, Color Edition, Engine Config, was auch immer. Das muss uns nicht im Detail interessieren. Habe ich jetzt hier quasi ein Konfigurationsschnipsel, was ich kopieren kann und abspeichern kann und dann eben für eine Automatisierung nutzen. Das heißt, die Idee ist, ich mache das einmal mit der grafischen
Oberfläche selbst und kann dann diese Historie auf neue Datennieferungen, auf ähnliche Daten dann nochmal anwenden und den ganzen Prozess dann automatisieren und beispielsweise täglich ablaufen lassen. Gerade bei der Anreichung mit Wikidata möchte man ja dann auch immer die aktuellen Informationen, falls sich in Wikidata was ändert.
Ja, da springe ich jetzt mal in die Präsentationsfolien zurück. Kurz noch zur Motivation. Warum automatisieren? Zeitersparnis ist ein klassisches Argument, vielleicht weniger offensichtlich, aber auch hilfreich ist, gerade im Wissenschaftsbereich natürlich die Reproduzierbarkeit. Das
heißt, wenn ich das einmal in Code gegossen habe, dann ist es eben auch technisch korrekt dokumentiert, sodass das also auch eindeutig ist und von anderen Nachvollziehen zogen werden kann. Und hier bei Open Refine finde ich besonders interessant, dass also diese grafische Oberfläche eben auch von Kolleginnen und Kollegen zu bedienen, ist die
hier sehr gut, die kann zwar Mediadatenstandes perfekt beherrschen, aber vielleicht nicht unbedingt die IT und die Automatisierungsmöglichkeiten und diese Arbeit könnten dann eben ergänzend in so einer Arbeitsteilung dann das IT Personal einer Einrichtung übernehmen, sodass man also da zu einer guten Arbeitsteilung kommen kann.
Die nächsten Folien mache ich mal ein bisschen kürzer. Ich habe hier nochmal aufgeschlüsselt, warum das geht, kleinen Server Architektur. Das würde ich aber jetzt mal überspringen, damit wir lieber noch ein Für OpenRefine gibt es neben der Software, die ich gleich nutzen werde, noch eine ganze Menge andere Clients. Also man kann, wenn man das jetzt automatisiert, das richtet sich jetzt an die IT
Interessierten, also verschiedene Clients nutzen, die in unterschiedlichen Programmiersprachen geschrieben wurden. Python, R, Java, Bash, also ist ja eher eine Scriptsprache und .NET. Diese fünf mit Sternchen versehen unterstützen auch die aktuellste Version von OpenRefine
für PHP, Ruby, Node.js und Rust gibt es auch schon Entwürfe, die aber momentan nicht gepflegt sind. Aber wenn man jetzt also mit Python sowieso die ganze Zeit in der IT-Abteilung arbeitet, dann kann man eben auch die Automatisierung mit dem Python-Client machen für OpenRefine und
ja, wenn man mit Java gerne arbeitet, könnte man den Java-Client nutzen. Ich möchte jetzt hier eine selbstentwickelte Software noch vorstellen. Die habe ich selber sozusagen abgewandelt von einem Python-Client, wo es hier eher darum geht, statt mit einer vollständigen
Programmiersprache das über die Kommandozeile, über das Terminal bedienen zu können. Das fand ich für meine Arbeit ganz interessant, weil das dann eben ganz gut in verschiedene Workflows sich auch integrieren lässt, wenn das also als Kommandozeilen-Tool aufrufbar ist. Wie das aussieht, zeige ich gleich. Und das ist also eine kleine ausführbare Datei, die es auch für Windows, Mac und Linux gibt. Man kann das also auch ergänzend
ohne Automatisierung für die manuelle Bedienung nutzen, theoretisch und eben unabhängig von der spezifischen Programmiersprache. Ja, damit komme ich zum Teil zwei der Live-Vorführung. Ich merke, dass ich schon relativ weit in der Zeit fortgeschritten bin. Trotzdem das Angebot, falls Sie das jetzt auch schnell, ich werde aus Zeitgründen das nicht langsam
machen können, aber falls Sie das mit nachvollziehen wollen, habe ich die Begleitmaterialien mit in den Chat gestellt. Da gibt es also einen Link auf den GitHub-Repository und dort können Sie sich eine Arbeitsumgebung mit JupyterLab über MyBinder starten.
Dann hätten Sie also die gleiche Arbeitsumgebung, die ich Ihnen jetzt zeige. Es gibt dort einen 10-Minuten-Timeout. Ich hoffe, der ist noch nicht erfolgt und würde Ihnen dann hier einmal zeigen mit den vorbereiteten Jupyter Notebooks. Da kann man also schon mal was vordokumentieren, was dann abgespielt werden kann. Mal zeigen, wie so eine Automatisierung
mit dem OpenRefine Klein laufen kann. Ja, ich möchte jetzt, Entschuldigung für das Hin und Her springen, ich möchte jetzt quasi das Gleiche, was wir vorhin manuell gemacht haben. Jetzt Ihnen nochmal zeigen, wie das dann über die Kommandozeile funktioniert. OpenRefine starten, den OpenRefine Klein ausführen, dabei die CSV-Dateien importieren,
diese Historie anwenden und hinter die Daten wieder exportieren. Ich schließe dazu jetzt die grafische Oberfläche von OpenRefine und habe jetzt hier schon mal OpenRefine gestartet. Das ist der Befehl und um es besser zu demonstrieren, würde ich das einmal wieder beenden und auch einfach mal den Kernel zurücksetzen in diesem
Jupyter Notebook, dass wir wieder den gleichen Ausgangszustand haben. Also falls Sie selber diese Binder-Umgebung starten, worauf ich jetzt im Detail nicht eingehen würde, sondern lieber sozusagen das Konkrete zu OpenRefine zeigen, können Sie quasi die
gleichen Schritte auch selber nachvollziehen. Der erste Schritt wäre, den OpenRefine-Server zu starten. Auf der Kommandozeile würde man dann das von OpenRefine mitgelieferte Script Refine starten, hier noch mit der Angabe, mit welchem Datenverzeichnis. Das wäre dann hier unter Refined Data und da lösche ich nochmal die Daten, die hier
drin waren, damit es da keine Konflikte gibt. Also das wäre jetzt genau der Ausgangszustand, den Sie da auch hätten. Dann kann man also OpenRefine starten. Das wäre jetzt sozusagen noch so genauso, wie wenn man sonst OpenRefine bedienen würde. Normalerweise würde man dann, wenn das gestartet ist, im Browser die
Adresse von OpenRefine aufrufen und wir würden jetzt OpenRefine eben über die Kommandozeile bedienen. Dazu starte ich das zweite Notebook, das ich vorbereitet habe. In dieser Umgebung ist der OpenRefine-Client schon installiert, aber das ist wie gesagt eine ausführbare Datei. Also kann man die herunterladen, ausführbar machen, unter Linux und dann starten. Ist
wie gesagt unter Windows und Mac auch verfügbar, aber die Arbeitsumgebung, die ich jetzt hier habe, zeigt den Vorgang unter Linux und der erste Befehl ist relativ simpel. Wir würden also die Option Create für Projekterstellen nutzen und dann die Datei mitgeben. Ich habe hier die
Datei, die wir vorhin gesehen haben, die CSV-Datei mit abgelegt und wenn ich hier den Play-Button wähle, das heißt diesen vorbereiteten Befehl ausführe, bekomme ich dann relativ schnell die Rückmeldung. Zehn Zeilen sind angelegt und die JSON-Datei, die ich Ihnen vorhin gezeigt habe, mit dieser
Historie, hier nochmal in so einer Baumansicht, die habe ich auch hier abgelegt. Das wäre dann der zweite Schritt, dass wir diese anwenden auf das Projekt. Das Projekt bekommt immer, wenn man keinen Projektnamen mitgibt, automatisch den Namen der Datei ohne Dateiendung. Deshalb lautet der Befehl, um das anzuwenden, die Datei history.json auf das
Projekt Schriftstellerinnen. Das wäre der nächste Schritt. Ich spiele ihn ab und erhalte eine Fehlermeldung. Das ist merkwürdig und schade. Weiß ich gerade nicht warum. Müssen wir gleich mal schauen, woran das liegen kann. Da gibt es
irgendeinen grundsätzlichen Fehler. Und der dritte Schritt wäre dann, die Daten zu exportieren, aber irgendwie scheint auch das ein Problem zu machen. Gut, ich springe dann nochmal ganz kurz hier in die OpenRefine-Oberfläche. Vielleicht kann ich es schnell lösen, ansonsten bleibt Ihnen nur das vielleicht selber nachzuvollziehen über die bereitgestellten Materialien.
Ja, da scheint irgendwie hier mit dem OpenRefine ein Problem zu sein. Gut, ich glaube es ist nicht mehr viel Zeit. Ich würde dann mal das hier noch einmal schließen. Parallel das neu aufmachen. Vielleicht lag es daran,
dass ich das schon gestartet habe. Setze nochmal meinen Vortrag zu Ende fort und falls dann der Moderator noch Zeit anräumt, würde ich es dann gleich noch einmal testen, im zweiten Anlauf. Ich habe aber hier Screenshots vorbereitet, so dass wir uns das anschauen können, wie es eigentlich aussehen sollte. OpenRefine starten, OpenRefine client ausführen. Da würde dann also eine Erfolgsmeldung kommen, dass die Datei angewendet wurde.
Und dann kann man hier entweder sich das in der Kommandozeile direkt ausgeben lassen, die ergänzten Daten oder auch in eine Datei exportieren. Aber schöner wäre es natürlich gewesen, wir hätten es live gesehen. Ja, ich setze trotzdem nochmal hier das fort, was ich noch sagen wollte.
Zum einen ist das, was ich gerade versucht habe zu zeigen, nur ein erster Einstieg in einen automatisierten Workflow. Auf der Kommandozeile müsste ja trotzdem noch ein Mensch diese Befehle aufrufen und wenn man also dann einen voll automatisierten Workflow machen möchte, gehört da natürlich noch mehr dazu. Man muss das regelmäßig ausführen. Man braucht also Protokolldateien, in denen man nachschauen kann.
Die Ergebnisse sollten validiert werden. Man muss ja vielleicht schon mal bestimmte Fehler, die man erwarten könnte, vorher schauen, was man dann tun, dass das Skript dann tun sollte. Da gibt es also noch eine ganze Menge, was zu bedenken wäre. Und deshalb habe ich für meine Zwecke, ich habe OpenRefine jetzt in dieser Art in verschiedenen Projekten
eingesetzt, zum Beispiel eben für den neuen Katalog für das Deutsche Literaturarchiv in Marbach. Da werden dann regelmäßig täglich Daten, große Datenmengen damit verarbeitet und da habe ich also zwei Dinge, die ich anbieten kann. Alles Open Source Software. Das eine wäre also ein Bash Skript, was für einfache Workflows
hilfreich sein kann und dann eine komplexere Vorlage, die ich aktuell nutze, mit dem, wo dann auch ein Taskwander mit dabei ist, mit dem man dann eben auch automatisiert so einen kompletten Workflow von OpenRefine starten mit Abspeichern, mit Fehlerbehandlung und auch Parallelisierung dann ablaufen lassen kann. Falls Sie da also Interesse haben,
würde ich also diese Vorlagen, die ich da eingestellt habe, empfehlen. Ich möchte auch die Einschränkungen nicht verheimlichen. Es ist also eine Möglichkeit, OpenRefine zu nutzen. Der Nachteil von OpenRefine im Gegensatz zu anderen Tools wie Katmandu oder Metafacture ist, dass es sehr viel Arbeitsspeicher braucht, weil alles in den Arbeitsspeicher geladen wird und dort verarbeitet.
Das macht es schnell, aber eben auch für große Datenmengen nicht so geeignet. OpenRefine 4.0 wird wahrscheinlich im Laufe des Jahres noch erscheinen. Das basiert nun auf Batchy Spark. Und das würde dann also auch mit weniger Arbeitsspeicher auskommen. Aber momentan wäre das eine Limitierung. Das heißt, man braucht auf dem Server gegebenenfalls relativ viel
Arbeitsspeicher. Diese Under-Redo-Historie, die ich gezeigt habe, ist nicht so einfach anzupassen, was die Nachnutzbarkeit so ein bisschen einschränkt. Also es ist nicht so einfach, wie bei anderen Skript-Sprachen dann direkt in diesem JSON zu hantieren. Und ich will auch nicht verschweigen, dass das Entwicklerteam von OpenRefine selber eher davon abrägt,
solche komplexen Workflows mit OpenRefine umzusetzen. Ich habe auch den Link auf die Meldung sicher eingestellt, wo also einer der Entwickler das diskutiert. Es gibt halt andere Tools, die dafür besser geeignet sind. Aber ich habe sehr gute Erfahrungen damit gemacht und denke halt, dass wenn man so ein Workflow ja als nicht voll IT-Mensch irgendwie anfängt,
ist es halt dann interessant, das noch automatisieren zu können. Wenn man halt schon von der IT-Seite her kommt und ganz fit ist in allen möglichen Programmiersprachen, würde man wahrscheinlich von vornherein eher ein anderes Tool einsetzen. Deshalb eben dieser Punkt der Arbeitsteilung für mich das Spannende dabei ist. Deshalb ich das auch trotz dieser Einschränkungen praktisch einsetze.
In den Präsentationsfolien finden Sie dann noch Links zu den Beispielprojekten, die ich damit umgesetzt habe. Und da ich jetzt hier, ich habe jetzt schon die Zeit ein bisschen überspannt, keine Zeit habe, jetzt die vollständige Automatisierung zu zeigen, habe ich noch eine Terminumfrage eingestellt.
Falls jemand Interesse hat, würde ich eben auch diese Workflow-Vorlagen gerne noch demonstrieren bei einem anderen Termin. Falls es Interessenten gibt, würde ich dann einfach eine Videokonferenz dazu aufsetzen.