diff --git a/SUMMARY.md b/SUMMARY.md index f1df375..09079e0 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -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) diff --git a/kapitel-3.md b/kapitel-3.md index 4c4fe21..ef322bf 100644 --- a/kapitel-3.md +++ b/kapitel-3.md @@ -1 +1,18 @@ -# Kapitel 3: Übertragungsprotokolle und Datentransformationen \(02.11.2017\) \ No newline at end of file +# 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) + + + diff --git a/kapitel-3/31-wir-bauen-uns-ein-wissensportal.md b/kapitel-3/31-wir-bauen-uns-ein-wissensportal.md new file mode 100644 index 0000000..e6786fd --- /dev/null +++ b/kapitel-3/31-wir-bauen-uns-ein-wissensportal.md @@ -0,0 +1,4 @@ +# 3.1 Wir bauen uns ein Wissensportal + + + diff --git a/kapitel-3/32-ubertragungsprotokolle-sru-und-oai-pmh.md b/kapitel-3/32-ubertragungsprotokolle-sru-und-oai-pmh.md new file mode 100644 index 0000000..88f3874 --- /dev/null +++ b/kapitel-3/32-ubertragungsprotokolle-sru-und-oai-pmh.md @@ -0,0 +1,4 @@ +# 3.2 Übertragungsprotokolle SRU und OAI-PMH + + + diff --git a/kapitel-3/33-testdaten-uber-sru-herunterladen.md b/kapitel-3/33-testdaten-uber-sru-herunterladen.md new file mode 100644 index 0000000..19d9c3d --- /dev/null +++ b/kapitel-3/33-testdaten-uber-sru-herunterladen.md @@ -0,0 +1,4 @@ +# 3.3 Testdaten über SRU herunterladen + + + diff --git a/kapitel-3/34-tutorial-zu-openrefine.md b/kapitel-3/34-tutorial-zu-openrefine.md new file mode 100644 index 0000000..067d417 --- /dev/null +++ b/kapitel-3/34-tutorial-zu-openrefine.md @@ -0,0 +1,4 @@ +# 3.4 Tutorial zu OpenRefine + + + diff --git a/kapitel-3/35-verarbeitung-von-marc21-mit-openrefine.md b/kapitel-3/35-verarbeitung-von-marc21-mit-openrefine.md new file mode 100644 index 0000000..5d16e47 --- /dev/null +++ b/kapitel-3/35-verarbeitung-von-marc21-mit-openrefine.md @@ -0,0 +1,4 @@ +# 3.5 Verarbeitung von MARC21 mit OpenRefine + + + diff --git a/kapitel-3/36-bonus-vergleich-mit-crosswalk-ergebnissen.md b/kapitel-3/36-bonus-vergleich-mit-crosswalk-ergebnissen.md new file mode 100644 index 0000000..24bf664 --- /dev/null +++ b/kapitel-3/36-bonus-vergleich-mit-crosswalk-ergebnissen.md @@ -0,0 +1,4 @@ +# 3.6 Bonus: Vergleich mit Crosswalk-Ergebnissen + + + diff --git a/kapitel-3/37-bonus-automatisierung.md b/kapitel-3/37-bonus-automatisierung.md new file mode 100644 index 0000000..bcf8f44 --- /dev/null +++ b/kapitel-3/37-bonus-automatisierung.md @@ -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 +``` \ No newline at end of file