Updates kapitel-3/37-bonus-automatisierung.md

Auto commit by GitBook Editor
This commit is contained in:
Felix Lohmeier 2017-11-01 22:46:32 +00:00
parent 2aca71058e
commit bab2c3545f
9 changed files with 96 additions and 1 deletions

View File

@ -15,6 +15,13 @@
* [2.4 Discovery-System Wissensportal](/kapitel-2/24_discovery-system-wissensportal.md) * [2.4 Discovery-System Wissensportal](/kapitel-2/24_discovery-system-wissensportal.md)
* [2.5 Datenbereitstellung für externe Portale](/kapitel-2/25_datenbereitstellung-fur-externe-portale.md) * [2.5 Datenbereitstellung für externe Portale](/kapitel-2/25_datenbereitstellung-fur-externe-portale.md)
* [Kapitel 3](kapitel-3.md) * [Kapitel 3](kapitel-3.md)
* [3.1 Wir bauen uns ein Wissensportal](kapitel-3/31-wir-bauen-uns-ein-wissensportal.md)
* [3.2 Übertragungsprotokolle SRU und OAI-PMH](kapitel-3/32-ubertragungsprotokolle-sru-und-oai-pmh.md)
* [3.3 Testdaten über SRU herunterladen](kapitel-3/33-testdaten-uber-sru-herunterladen.md)
* [3.4 Tutorial zu OpenRefine](kapitel-3/34-tutorial-zu-openrefine.md)
* [3.5 Verarbeitung von MARC21 mit OpenRefine](kapitel-3/35-verarbeitung-von-marc21-mit-openrefine.md)
* [3.6 Bonus: Vergleich mit Crosswalk-Ergebnissen](kapitel-3/36-bonus-vergleich-mit-crosswalk-ergebnissen.md)
* [3.7 Bonus: Automatisierung](kapitel-3/37-bonus-automatisierung.md)
* [Kapitel 4](kapitel-4.md) * [Kapitel 4](kapitel-4.md)
* [Kapitel 5](kapitel-5.md) * [Kapitel 5](kapitel-5.md)
* [Kapitel 6](kapitel-6.md) * [Kapitel 6](kapitel-6.md)

View File

@ -1 +1,18 @@
# Kapitel 3: Übertragungsprotokolle und Datentransformationen \(02.11.2017\) # Kapitel 3: Übertragungsprotokolle und Datentransformationen \(02.11.2017\)
Im vorigen Kapitel haben wir viele Praxisbeispiele der ETH-Bibliothek kennengelernt und anhand des Metadatenflussdiagramms die großen Zusammenhänge zwischen den verschiedenen Systemen diskutiert. Jetzt werden wir einzelne Aspekte vertiefen und hands-on ausprobieren.
Unser Ziel: Wir bauen uns unser eigenes "Wissensportal". Was bei der ETH im großen Stil mit der kommerziellen Software PRIMO realisiert wurde, bauen wir im Kleinen mit Open Source Software nach.
Bitte nehmen Sie sich für die folgenden Abschnitte insgesamt etwa 8 Stunden Zeit:
* [3.1 Wir bauen uns ein Wissensportal](/kapitel-3/31-wir-bauen-uns-ein-wissensportal.md)
* [3.2 Übertragungsprotokolle SRU und OAI-PMH](/kapitel-3/32-ubertragungsprotokolle-sru-und-oai-pmh.md)
* [3.3 Testdaten über SRU herunterladen](/kapitel-3/33-testdaten-uber-sru-herunterladen.md)
* [3.4 Tutorial zu OpenRefine](/kapitel-3/34-tutorial-zu-openrefine.md)
* [3.5 Verarbeitung von MARC21 mit OpenRefine](/kapitel-3/35-verarbeitung-von-marc21-mit-openrefine.md)
* [3.6 Bonus: Vergleich mit Crosswalk-Ergebnissen](/kapitel-3/36-bonus-vergleich-mit-crosswalk-ergebnissen.md)
* [3.7 Bonus: Automatisierung](/kapitel-3/37-bonus-automatisierung.md)

View File

@ -0,0 +1,4 @@
# 3.1 Wir bauen uns ein Wissensportal

View File

@ -0,0 +1,4 @@
# 3.2 Übertragungsprotokolle SRU und OAI-PMH

View File

@ -0,0 +1,4 @@
# 3.3 Testdaten über SRU herunterladen

View File

@ -0,0 +1,4 @@
# 3.4 Tutorial zu OpenRefine

View File

@ -0,0 +1,4 @@
# 3.5 Verarbeitung von MARC21 mit OpenRefine

View File

@ -0,0 +1,4 @@
# 3.6 Bonus: Vergleich mit Crosswalk-Ergebnissen

View File

@ -0,0 +1,47 @@
# 3.7 Bonus: Automatisierung
Die Systemarchitektur von OpenRefine macht es möglich, die Anwendung nicht nur über die grafische Oberfläche, sondern auch über eine API "fernzusteuern". Für die [HTTP-API von OpenRefine](https://github.com/OpenRefine/OpenRefine/wiki/OpenRefine-API) gibt es Clients in den Programmiersprachen Python, Ruby, node.js, PHP und für R. Am ausgereiftesten ist der [Python-Client von Paul Makepeace](https://github.com/PaulMakepeace/refine-client-py/).
Darauf aufbauend habe ich ein Shell-Script geschrieben, das gespeicherte Transformationsregeln auf eine Vielzahl von Dateien anwenden kann. Es lädt sich alle benötigten Komponenten wie beispielsweise den Python-Client automatisch aus dem Internet. Die zu verarbeitenden Daten und die Transformationsregeln (als JSON-Dateien) müssen vorab in Dateiordnern bereitgestellt werden. Das Script ist bei GitHub frei verfügbar: [felixlohmeier/openrefine-batch](https://github.com/felixlohmeier/openrefine-batch).
## Transformationshistorie
OpenRefine verfügt über hilfreiche Undo/Redo-Funktionen, mit denen Sie auch alle bisher in einem Projekt durchgeführten Transformationsregeln speichern und auf ein anderes Projekt anwenden können.
Transformationsregeln extrahieren (altes Projekt):
* Oben links Menü Undo / Redo den Button Extract... drücken
* Alles im rechten Textfeld in die Zwischenablage kopieren (z.B. mit STRG+A und STRG+C)
Transformationsregeln anwenden (neues Projekt):
* Neues Projekt erstellen
* Oben links Menü Undo / Redo den Button Apply... drücken
* Den Inhalt der Zwischenablage einfügen (z.B. mit STRG+V) und den Button Perform Operations drücken.
## Download des Shell-Scripts openrefine-batch
* Falls OpenRefine im Terminal noch läuft, beenden Sie es durch die Tastenkombination ```STRG```+```C```.
* Geben Sie im Terminal folgende Befehle ein:
```
wget https://github.com/felixlohmeier/openrefine-batch/archive/master.zip
unzip master.zip
cd openrefine-batch-master
chmod +x openrefine-batch.sh
```
## Tutorial aus dem vorigen Kapitel automatisiert bearbeiten
In dem Download sind die Daten aus dem Tutorial enthalten. Wenn Sie mögen, können Sie die JSON-Datei im Ordner examples/powerhouse-museum/config/ durch Ihre eigene Transformationshistorie ersetzen.
```
./openrefine-batch.sh \
-a examples/powerhouse-museum/input/ \
-b examples/powerhouse-museum/config/ \
-c examples/powerhouse-museum/output/ \
-f tsv \
-i processQuotes=false \
-i guessCellValueTypes=true \
-RX
```