Updates kapitel-3/37-bonus-automatisierung.md
Auto commit by GitBook Editor
This commit is contained in:
parent
2aca71058e
commit
bab2c3545f
|
@ -15,6 +15,13 @@
|
|||
* [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)
|
||||
* [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 5](kapitel-5.md)
|
||||
* [Kapitel 6](kapitel-6.md)
|
||||
|
|
19
kapitel-3.md
19
kapitel-3.md
|
@ -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)
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
# 3.1 Wir bauen uns ein Wissensportal
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
# 3.2 Übertragungsprotokolle SRU und OAI-PMH
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
# 3.3 Testdaten über SRU herunterladen
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
# 3.4 Tutorial zu OpenRefine
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
# 3.5 Verarbeitung von MARC21 mit OpenRefine
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
# 3.6 Bonus: Vergleich mit Crosswalk-Ergebnissen
|
||||
|
||||
|
||||
|
|
@ -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
|
||||
```
|
Loading…
Reference in New Issue