Kapitel 7 grundlegend überarbeitet

This commit is contained in:
Felix Lohmeier 2016-11-20 16:49:47 +01:00
parent 7dd7c2e84f
commit cabd1273d0
15 changed files with 1411 additions and 56 deletions

View File

@ -9,10 +9,9 @@ Inhalte:
3. [Für jedes MARC-Feld eine Spalte](https://felixlohmeier.gitbooks.io/seminar-wir-bauen-uns-einen-bibliothekskatalog/content/07_3_fuer_jedes_marc-feld_eine_spalte.html)
4. [Transformationen anwenden](https://felixlohmeier.gitbooks.io/seminar-wir-bauen-uns-einen-bibliothekskatalog/content/07_4_transformationen_anwenden.html)
5. [Alle Daten in ein Projekt laden](https://felixlohmeier.gitbooks.io/seminar-wir-bauen-uns-einen-bibliothekskatalog/content/07_5_alle_daten_in_ein_projekt_laden.html)
6. [Daten bereinigen](https://felixlohmeier.gitbooks.io/seminar-wir-bauen-uns-einen-bibliothekskatalog/content/07_6_daten_bereinigen.html)
7. [Felder definieren](https://felixlohmeier.gitbooks.io/seminar-wir-bauen-uns-einen-bibliothekskatalog/content/07_7_felder_definieren.html)
8. [Daten exportieren](https://felixlohmeier.gitbooks.io/seminar-wir-bauen-uns-einen-bibliothekskatalog/content/07_8_daten_exportieren.html)
9. [Automatisierung](https://felixlohmeier.gitbooks.io/seminar-wir-bauen-uns-einen-bibliothekskatalog/content/07_9_automatisierung.html)
6. [Felder definieren](https://felixlohmeier.gitbooks.io/seminar-wir-bauen-uns-einen-bibliothekskatalog/content/07_6_felder_definieren.html)
7. [Daten exportieren](https://felixlohmeier.gitbooks.io/seminar-wir-bauen-uns-einen-bibliothekskatalog/content/07_7_daten_exportieren.html)
8. [Automatisierung](https://felixlohmeier.gitbooks.io/seminar-wir-bauen-uns-einen-bibliothekskatalog/content/07_8_automatisierung.html)
Beiträge der Studierenden in den Lerntagebüchern:

View File

@ -1,6 +1,6 @@
# 7.1 Facetten und Text Filter
Alle folgenden Übungen in den Kapiteln 7.1 bis 7.3 führen wir zunächst mit einer einzigen Datei aus dem Download durch. Diese Datei beinhaltet "nur" 100 Datensätze, mit denen wir beispielhaft arbeiten. In Kapitel 7.4 und 7.5 werden wir dann die gelernten Transformationen auf alle 450.000 Datensätze anwenden.
Alle folgenden Übungen in den Kapiteln 7.1 bis 7.3 führen wir zunächst mit einer einzigen Datei aus dem Download durch. Diese Datei beinhaltet "nur" 100 Datensätze, mit denen wir beispielhaft arbeiten. In den Kapitel 7.4 und 7.5 werden wir dann die gelernten Transformationen auf alle 450.000 Datensätze anwenden.
OpenRefine "versteht" das MARC-Format nicht. Es interpretiert die Daten daher genauso wie jede andere XML-Datei. Wenn Sie die Daten erstmalig in OpenRefine öffnen, sehen Sie daher die üblichen Nummern und Codes für die jeweiligen MARC-Felder in der Baumstruktur der XML-Datei. Die Bedeutung der MARC-Nummern und Codes müssen Sie nachschlagen. Der GBV bietet meines Wissens nach keine Beschreibung der Feldbelegungen an. Zur Orientierung können Sie die [Arbeitstabelle der Deutschen Nationalbibliothek](http://www.dnb.de/SharedDocs/Downloads/DE/DNB/standardisierung/marc21FeldbeschreibungTitelExcel032016.zip) in der [Dokumentation des MARC21-Formats](http://www.dnb.de/DE/Standardisierung/Formate/MARC21/marc21_node.html) verwenden.

View File

@ -63,8 +63,15 @@ Hinweise:
## Lösung
* wie in Aufgabe 1
* Empfohlene Paketgröße: {%s%}30 Projekte mit je 150 Dateien bei 3GB Arbeitsspeicher für OpenRefine{%ends%}
* Server starten: {%s%}sudo docker run --name=refine-server --rm -p 8888:3333 -v /home/stud/refine:/data felixlohmeier/openrefine:2.6rc2 -i 0.0.0.0 -m 3G -d /data{%ends%}
Projekte erstellen:
* {%s%}Create Project / Durchsuchen... / 150 Dateien auswählen / Next / Configure Parsing Options{%ends%}
* {%s%}Parse data as XML files{%ends%}
* {%s%}In der Vorschauansicht an die Stelle <record xmlns="http://www.loc.gov/MARC21/slim"> klicken{%ends%}
* {%s%}Checkbox "Store file source..." deaktivieren / Zweite Zahl im Projektnamen anpassen und Button "Create Project" drücken{%ends%}
## Aufgabe 4: Wenden Sie die Transformationsregeln auf alle in Aufgabe 3 erstellten Projekte an
@ -86,7 +93,10 @@ cp -r refine-backup refine
## Lösung
* wie in Aufgabe 2
In OpenRefine Projekte nacheinander laden und jeweils...
* Menü oben links "Undo / Redo" aufrufen und Button "Apply..." drücken.
* Den Inhalt aus der Datei [07_5-6_all.json](https://felixlohmeier.gitbooks.io/seminar-wir-bauen-uns-einen-bibliothekskatalog/content/openrefine/07_5-6_all.json) bzw. [07_5-6_minimal.json](https://felixlohmeier.gitbooks.io/seminar-wir-bauen-uns-einen-bibliothekskatalog/content/openrefine/07_5-6_minimal.json) in die Zwischenablage kopieren und in das Textfeld von "Apply" einfügen und Button "Perform Operations" drücken.
## Aufgabe 5: Alle Projekte einzeln als TSV exportieren
@ -98,15 +108,97 @@ Hinweise:
* {%s%}Projekte nacheinander in OpenRefine laden und im Menü oben rechts Export / "Tab separated value" wählen. Der Download sollte automatisch beginnen. Speichern Sie die Daten lokal in einem beliebigen Verzeichnis.{%ends%}
## Aufgabe 6: Neues Projekt aus den TSV Dateien erstellen
## Aufgabe 6: Spalten einheitlich sortieren (und nicht benötigte MARC-Felder löschen)
Schauen Sie sich die ersten Zeilen der TSV-Dateien mit ```head -n1 *.tsv``` an. Die verschiedenen Pakete enthalten sehr unterschiedliche Spalten und sie sind in unterschiedlicher Reihenfolge sortiert. Mit dem Befehl ```head -q -n1 *.tsv | tr "\t" "\n" | sort | uniq -c``` können Sie sich einen Überblick darüber verschaffen, wie oft eine Spalte in den verschiedenen TSV-Dateien vorkommt. Leider sind die Daten uneinheitlich codiert, so dass sehr viele unterschiedliche MARC-Felder belegt sind. Die daraus resultierende hohe Anzahl an Spalten stellt hohe Leistungsanforderungen an OpenRefine. Der Arbeitsspeicher wird vermutlich nicht ausreichen, um alle Daten in ein Projekt zu laden. Führen Sie die folgenden Schritte aus, um die Spalten einheitlich zu sortieren und die Anzahl der Felder zu reduzieren.
## Vorgehen
**1) Zwischenergebnis analysieren**
```head -q -n1 *.tsv | tr "\t" "\n" | sort | uniq -c```
Sie werden feststellen, dass manche Spalten sehr selten vorkommen. Sie können die [Dokumentation des MARC21 Formats](http://www.dnb.de/DE/Standardisierung/Formate/MARC21/marc21_node.html) konsultieren, um zu prüfen, ob Sie die Informationen aus diesen Feldern wirklich benötigen.
Ohne den Parameter ```-c``` erhalten Sie alle Spalten ohne Dubletten.
**2) Transformationsdatei für OpenRefine generieren**
Wenn Sie die Funktion ```All / Edit Columns / Re-order / remove columns...``` über die grafische Oberfläche durchführen und anschließend die Funktion ```Undo / Redo / Extract ...``` aufrufen, können Sie sich anschauen, wie die Transformationsregel in JSON definiert ist. Diese ist sehr einfach aufgebaut und sieht ungefähr so aus (in diesem Beispiel werden nur die Spalten A, B, C erhalten):
```
[
{
"op": "core/column-reorder",
"description": "Reorder columns",
"columnNames": [
"A",
"B",
"C"
]
}
]
```
Das ermöglicht uns mit dem Befehl aus Schritt 1 und ein paar Texttransformationen mit ```sed``` die Konfigurationsdatei automatisch zu generieren:
* Die Spalten müssen in die eckigen Klammern nach ```"columnNames":``` eingefügt werden.
* Die Spalten müssen von Anführungszeichen umschlossen sein.
* Zwischen den Spalten steht ein Komma (nach der letzten Spalte also keins!).
Lösungsansätze:
* Spalten in Anführungszeichen setzen und ein Komma anfügen: ```sed 's/^/"/' | sed 's/$/",/'```
* Anfang der Datei ergänzen: ```sed '1i [ { "op": "core/column-reorder", "description": "Reorder columns", "columnNames": ['```
* Ende der Datei ergänzen und das Komma bei der letzten Spalte entfernen: ```sed '$ s/,$/\n ] } ]/'```
Zusammen mit Schritt 1 ergibt das folgende Lösung:
```
head -q -n1 *.tsv | tr "\t" "\n" | sort | uniq | sed 's/^/"/' | sed 's/$/",/' | sed '1i [ { "op": "core/column-reorder", "description": "Reorder columns", "columnNames": [' | sed '$ s/,$/\n ] } ]/' > 07_5-6_all.json
```
In der Datei ```07_5-6_all.json``` haben Sie nun eine valide Transformationsdatei für OpenRefine, die alle in den Daten enthaltenen Felder alphabetisch sortiert.
**3) Nicht benötigte Spalten löschen**
Danach können wir die Datei mit ```nano 07_5-6_all.json``` bearbeiten und alle nicht benötigten Felder löschen, indem wir einfach die entsprechende Zeile der Datei entfernen. Je weniger Spalten enthalten sind, desto übersichtlicher wird die weitere Bearbeitung in den folgenden Kapiteln und desto geringer wird der Bedarf an Arbeitsspeicher.
Hier sind zwei Beispielkonfigurationen:
1. Alle Felder: [07_5-6_all.json](https://felixlohmeier.gitbooks.io/seminar-wir-bauen-uns-einen-bibliothekskatalog/content/openrefine/07_5-6_all.json)
2. Nur Felder für [Dublin Core (unqualified)](http://www.loc.gov/marc/marc2dc.html): [07_5-6_minimal.json](https://felixlohmeier.gitbooks.io/seminar-wir-bauen-uns-einen-bibliothekskatalog/content/openrefine/07_5-6_minimal.json)
**4) Transformationsdatei auf Projekte mit bereits transformierten Daten anwenden**
Erstellen Sie zunächst ein Backup mit ```cp -r refine refine-backup-transformed```.
In OpenRefine Projekte nacheinander laden und jeweils...
* Menü oben links "Undo / Redo" aufrufen und Button "Apply..." drücken.
* Den Inhalt aus der Datei [07_5-6_all.json](https://felixlohmeier.gitbooks.io/seminar-wir-bauen-uns-einen-bibliothekskatalog/content/openrefine/07_5-6_all.json) bzw. [07_5-6_minimal.json](https://felixlohmeier.gitbooks.io/seminar-wir-bauen-uns-einen-bibliothekskatalog/content/openrefine/07_5-6_minimal.json) in die Zwischenablage kopieren und in das Textfeld von "Apply" einfügen und Button "Perform Operations" drücken.
**5) Alle Projekte erneut als TSV exportieren**
Projekte nacheinander in OpenRefine laden und im Menü oben rechts Export / "Tab separated value" wählen. Der Download sollte automatisch beginnen. Speichern Sie die Daten lokal in einem beliebigen Verzeichnis.
Wenn Sie die exportierten Dateien wieder mit mit ```head -n1 *.tsv``` prüfen, dann werden Sie feststellen, dass nur diejenigen Spalten im Export enthalten sind, in denen auch tatsächlich Felder belegt sind.
## Aufgabe 7: Neues Projekt aus den TSV Dateien erstellen
Hinweise:
* OpenRefine führt unterschiedliche Datenstrukturen sinnvoll zusammen. Wenn die Dateien unterschiedlich viele Spalten oder eine andere Reihenfolge der Spalten haben, so ist das kein Problem. OpenRefine nimmt alle Spalten der ersten Datei auf und belegt diese mit neuen Zeilen. Sobald in einer weiteren Datei eine neue Spalte auftaucht, die OpenRefine noch nicht bekannt ist, so wird diese hinten angehängt. Das führt dazu, dass die Reihenfolge sich ändert. Wenn Sie wieder die alphabetische Sortierung der Spalten haben wollen, dann wenden Sie die Transformation aus Datei [07_5-6_all.json](https://felixlohmeier.gitbooks.io/seminar-wir-bauen-uns-einen-bibliothekskatalog/content/openrefine/07_5-6_all.json) bzw. [07_5-6_minimal.json](https://felixlohmeier.gitbooks.io/seminar-wir-bauen-uns-einen-bibliothekskatalog/content/openrefine/07_5-6_minimal.json) einfach noch einmal an.
* Vermeiden Sie es, die Dateinamen von OpenRefine in den Daten speichern zu lassen. Das ist das Standardverhalten, kann aber mit einer Checkbox beim Import abgeschaltet werden.
* Wenn der Arbeitsspeicher nicht ausreicht, um alle Daten in ein Projekt zu laden, dann müssen Sie wohl oder übel mit mehreren Projekten arbeiten.
* Wenn Sie nicht über ausreichend Arbeitsspeicher für OpenRefine verfügen und die Feldliste nicht vorab reduzieren können, dann müssen Sie wohl oder übel mit mehreren Projekten arbeiten. Das erschwert allerdings die Arbeit enorm, weil Sie die Feldbelegungen immer in mehreren Projekten prüfen müssen und Bezüge zwischen den Datensätzen schwerer herzustellen sind.
Bedarf an Arbeitsspeicher:
* Alle Daten alle Felder (07_5-6_all.json): ... GB
* Reduzierte Felder (07_5-6_minimal.json): ... GB
## Lösung
* {%s%}Create Project / Durchsuchen... / TSV Dateien auswählen / Next / Configure Parsing Options{%ends%}
* {%s%}Parse data as CSV / TSV / separator-based files{%ends%}
* {%s%}Checkbox "Store file source..." deaktivieren / Projektnamen vergeben und Button "Create Project" drücken{%ends%}
* {%s%}Checkbox "Store file source..." deaktivieren / Projektnamen vergeben und Button "Create Project" drücken{%ends%}

View File

@ -1,7 +0,0 @@
# 7.6 Daten bereinigen
## Literatur
* Owen Stephens: [A worked example of fixing problem MARC data: Part 4 OpenRefine](http://www.meanboyfriend.com/overdue_ideas/2015/07/worked-example-fixing-marc-data-4/)
* Library Carpentry OpenRefine: [Basic OpenRefine functions II](https://data-lessons.github.io/library-openrefine/04-basic-functions-II/)

55
07_6_felder_definieren.md Normal file
View File

@ -0,0 +1,55 @@
# 7.6 Felder definieren
Jetzt wird es konkret: Welche Informationen wollen Sie in Ihrem Bibliothekskatalog anbieten? Welche Kurzinformationen sollen in der Trefferliste stehen? Welche Informationen sollen in der Vollanzeige dargestellt werden? Im Suchindex wird alles in Feldern abgelegt, die später im Relevanzranking auch gewichtet werden können. In der Software zur Anzeige (TYPO3-find in unserem Fall), können Sie auch später noch mehrere Felder kombiniert darstellen.
## Aufgabe 1: Identifizieren Sie wichtige Felder wie Titel, Autor/in, Ort, Erscheinungsjahr, Medientyp in den MARC-Daten
Hinweise:
* Wenn Sie im [OPAC der HAW Hamburg](https://kataloge.uni-hamburg.de/LNG=DU/DB=2/) in die Suche ```PPN .?``` eingeben, dann erhalten Sie alle rund 450.000 Treffer. Über den Menüpunkt Trefferanalyse können Sie sich dann einen groben Überblick über die enthaltenen Daten verschaffen. Mit der Suche können Sie auch direkt einzelne Datensätze aufrufen. Beispiel: ```PPN 834422018```.
* Nutzen Sie die [Arbeitstabelle der Deutschen Nationalbibliothek](http://www.dnb.de/SharedDocs/Downloads/DE/DNB/standardisierung/marc21FeldbeschreibungTitelExcel032016.zip) in der [Dokumentation des MARC21-Formats](http://www.dnb.de/DE/Standardisierung/Formate/MARC21/marc21_node.html), um die MARC-Felder zu übersetzen.
* Der Suchindex erwartet eine eindeutige Kennung (Identifier) in der ersten Spalte. Prüfen Sie, ob Sie eine vorhandene Nummer dafür verwenden können.
## Lösung
Hier gibt es keine allgemeingültige Lösung. Jetzt ist es an Ihnen, Ihren Katalog so zu gestalten, wie Sie ihn haben wollen. Notieren Sie sich zunächst die MARC-Felder, die besonders relevant oder interessant für Sie sind.
## Aufgabe 2: Bilden Sie neue Felder (bzw. Spalten) durch die Kombination von verschiedenen Feldern
Hinweise:
* Wenn Sie nicht wissen, wo Sie beginnen sollen, dann versuchen Sie zunächst mit einem kleinen Satz von Feldern anzufangen. In Kapitel 4 haben Sie das Format Dublin Core als einen "kleinsten gemeinsamen Nenner" kennengelernt. Sie können damit beginnen diese Felder zu bilden. Die Library of Congress hat einen [Crosswalk von MARC21 zu Dublin Core](http://www.loc.gov/marc/marc2dc.html) bereitgestellt, den Sie zur Orientierung nutzen können.
## Lösung
Vorgehen für Felder, die im Crosswalk von MARC21 zu Dublin Core (unqualified) genannt sind:
...
**Als JSON-Datei: [07_6-2.json](https://felixlohmeier.gitbooks.io/seminar-wir-bauen-uns-einen-bibliothekskatalog/content/openrefine/07_6-2.json)**
## Aufgabe 3: Daten bereinigen
...
Datumskonvertierung: value.toDate()
Störende Zeichen
** Als JSON-Datei (für die Felder aus Lösung Aufgabe 2): [07_6-3.json](https://felixlohmeier.gitbooks.io/seminar-wir-bauen-uns-einen-bibliothekskatalog/content/openrefine/07_6-3.json)****
## Aufgabe 4: Alle nicht benötigten Daten löschen
Hinweise:
* Am schnellsten geht es über die Funktion zum Neusortieren der Spalten. Alternativ könnten Sie auch beim Export nur einzelne Spalten auswählen.
* Der Suchindex erwartet eine eindeutige Identifikationsnummer in der ersten Spalte. Das Feld wird üblicherweise ```id``` benannt. Benennen Sie die Spalte mit dem MARC-Feld ```001``` in ```id``` um und verschieben Sie diese in die erste Spalte (falls Sie dort nicht ohnehin stehen sollte).
## Lösung
...
** Als JSON-Datei (für die Felder aus Lösung Aufgabe 2): [07_6-4.json](https://felixlohmeier.gitbooks.io/seminar-wir-bauen-uns-einen-bibliothekskatalog/content/openrefine/07_6-4.json)****
## Literatur
* Owen Stephens: [A worked example of fixing problem MARC data: Part 4 OpenRefine](http://www.meanboyfriend.com/overdue_ideas/2015/07/worked-example-fixing-marc-data-4/)
* Library Carpentry OpenRefine: [Basic OpenRefine functions II](https://data-lessons.github.io/library-openrefine/04-basic-functions-II/)

18
07_7_daten_exportieren.md Normal file
View File

@ -0,0 +1,18 @@
# 7.7 Daten exportieren
OpenRefine bietet viele Möglichkeiten die Daten in verschiedene Formate zu exportieren. Wie eingangs beschrieben, wollen wir das Format TSV nutzen, das sehr einfach ist und sich später gut in den Suchindex spielen lässt.
Hinweise:
* Der Klick auf den Menüpunkt Export / TSV startet sofort einen Download der Daten. Das reicht in den meisten Fällen aus. Probieren Sie aber auch die anderen Möglichkeiten aus.
* Wenn Sie die Daten exportiert haben, können Sie folgende Befehle zur Überprüfung der Daten verwenden: ```wc -l -c``` und ```head -n1```
## Lösung
* Export: {%s%}Projekte nacheinander in OpenRefine laden und im Menü oben rechts Export / "Tab separated value" wählen. Der Download sollte automatisch beginnen. Speichern Sie die Daten lokal in einem beliebigen Verzeichnis.{%ends%}
* Zählung der Zeilen der TSV-Dateien (sollte der Anzahl der Records minus 1 entsprechen): ```wc -l -c *.tsv```
* Erste Zeile der TSV-Dateien anzeigen (sollte die Spaltenüberschriften beinhalten): ```head -n1 *.tsv```
## Literatur
* [Exporter in der OpenRefine Dokumentation](https://github.com/OpenRefine/OpenRefine/wiki/Exporters)

View File

@ -1,21 +0,0 @@
# 7.7 Felder definieren
Jetzt wird es konkret: Welche Informationen wollen Sie in Ihrem Bibliothekskatalog anbieten? Welche Kurzinformationen sollen in der Trefferliste stehen? Welche Informationen sollen in der Vollanzeige dargestellt werden? Im Suchindex wird alles in Feldern abgelegt, die später im Relevanzranking auch gewichtet werden können. In der Software zur Anzeige (TYPO3-find in unserem Fall), können Sie auch später noch mehrere Felder kombiniert darstellen.
## Aufgabe 1: Identifizieren Sie wichtige Felder wie Titel, Autor/in, Ort, Erscheinungsjahr, Medientyp in den MARC-Daten
Hinweise:
* Wenn Sie im [OPAC der HAW Hamburg](https://kataloge.uni-hamburg.de/LNG=DU/DB=2/) in die Suche ```PPN .?``` eingeben, dann erhalten Sie alle rund 450.000 Treffer. Über den Menüpunkt Trefferanalyse können Sie sich dann einen groben Überblick über die enthaltenen Daten verschaffen. Mit der Suche können Sie auch direkt einzelne Datensätze aufrufen. Beispiel: ```PPN 834422018```.
* Nutzen Sie die [Arbeitstabelle der Deutschen Nationalbibliothek](http://www.dnb.de/SharedDocs/Downloads/DE/DNB/standardisierung/marc21FeldbeschreibungTitelExcel032016.zip) in der [Dokumentation des MARC21-Formats](http://www.dnb.de/DE/Standardisierung/Formate/MARC21/marc21_node.html), um die MARC-Felder zu übersetzen.
* Der Suchindex erwartet eine eindeutige Kennung (Identifier) in der ersten Spalte. Prüfen Sie, ob Sie eine vorhandene Nummer dafür verwenden können.
## Aufgabe 2: Bilden Sie neue Felder (bzw. Spalten) durch die Kombination von verschiedenen Feldern
...
## Aufgabe 3: Löschen Sie alle nicht benötigten Daten
Hinweise:
* Am schnellsten geht es über die Funktion zum Neusortieren der Spalten. Alternativ könnten Sie auch beim Export nur einzelne Spalten auswählen.

View File

@ -1,4 +1,4 @@
# 7.9 Automatisierung
# 7.8 Automatisierung
Die Systemarchitektur von OpenRefine macht es möglich, die Anwendung nicht nur über die grafische Oberfläche, sondern auch über eine API "fernzusteuern". Im Punkt zur Systemarchitektur in der [Dokumentation für Entwickler](https://github.com/OpenRefine/OpenRefine/wiki/Documentation-For-Developers) heißt es:
@ -268,7 +268,39 @@ Script als Datei: [transform+export.sh](https://felixlohmeier.gitbooks.io/semina
* Script ausführbar machen: ```chmod +x transform+export.sh```
* Script starten mit ```./transform+export.sh```
## Aufgabe 6: Führen Sie mit dem Script ALLE Transformationsschritte aus Kapitel 7 durch
Hinweise:
* Passen Sie die Zeile ```jsonfiles=(07_3.json test.json)``` so an, dass die gewünschten Transformationsdateien in der richtigen Reihenfolge abgearbeitet werden.
* Als Ausgangsbasis benötigen Sie das Ergebnis von Kapitel 7.5, Aufgabe 3. Wenn Sie damals das Backup, wie vorgeschlagen, erstellt haben, können Sie dies nun wiederherstellen.
* Da das Script bzw. der Python-Client keine Projekte erstellen kann, müssen Sie Kapitel 7.5, Aufgabe 7 manuell durchführen.
## Lösung
**Teil 1: mit Script**
* Arbeitsverzeichnis löschen (Achtung: Bei Bedarf vorher eine Kopie anlegen!): {%s%}sudo rm -r -f refine{%ends%}
* Backup aus Kapitel 7.5, Aufgabe 3 wiederherstellen: {%s%}cp -r refine-backup refine{%ends%}
* Projekte umbenennen: {%s%}Codewort TRANSFORM in alle Projektnamen schreiben{%ends%}
* Script anpassen: {%s%}nano transform+export.sh und die Zeile jsonfiles=(07_3.json test.json) durch jsonfiles=(07_3.json 07_5-6_minimal.json) ersetzen.{%ends%}
* Script ausführen (Achtung: Mehrere Stunden Laufzeit!): {%s%}./transform+export.sh{%ends%}
* TSV-Dateien mit WinSCP herunterladen: {%s%}vgl. Lösung in Kapitel 6.3, Aufgabe 1{%ends%}
* Arbeitsverzeichnis leeren: {%s%}sudo rm -r -f refine/*{%ends%}
**Teil 2: manuell**
Server Starten:
* {%s%}```sudo docker run --rm -p 8888:3333 -v /home/stud/refine:/data felixlohmeier/openrefine:2.6rc2 -i 0.0.0.0 -m 3G -d /data```{%ends%}
Projekt anlegen:
* {%s%}Create Project / Durchsuchen... / Alle TSV Dateien auswählen / Next / Configure Parsing Options{%ends%}
* {%s%}Parse data as CSV / TSV / separator-based files{%ends%}
* {%s%}Checkbox "Store file source..." deaktivieren / Projektnamen inkl. Codewort TRANSFORM vergeben und Button "Create Project" drücken{%ends%}
**Teil 3: mit Script**
* Script anpassen: {%s%}nano transform+export.sh und die Zeile jsonfiles=(07_3.json test.json) durch jsonfiles=(07_6-2.json 07_6-3.json 07_6-4.json) ersetzen.{%ends%}
## Literatur
* In der Rubrik [häufig gestellte Fragen (FAQ)]((https://github.com/OpenRefine/OpenRefine/wiki/FAQ)) der OpenRefine Dokumentation stehen auch ein paar Tipps, wie OpenRefine programmatisch als Server genutzt werden kann.
* In der Rubrik [häufig gestellte Fragen (FAQ)]((https://github.com/OpenRefine/OpenRefine/wiki/FAQ)) der OpenRefine Dokumentation stehen auch ein paar Tipps, wie OpenRefine programmatisch als Server genutzt werden kann.

View File

@ -1,12 +0,0 @@
# 7.8 Daten exportieren
OpenRefine bietet viele Möglichkeiten die Daten in verschiedene Formate zu exportieren. Wie eingangs beschrieben, wollen wir das Format TSV nutzen, das sehr einfach ist und sich später gut in den Suchindex spielen lässt.
Hinweise:
* Der Klick auf den Menüpunkt Export / TSV startet sofort einen Download der Daten. Das reicht in den meisten Fällen aus. Probieren Sie aber auch die anderen Möglichkeiten aus.
## Literatur
* [Exporter in der OpenRefine Dokumentation](https://github.com/OpenRefine/OpenRefine/wiki/Exporters)

View File

@ -36,10 +36,9 @@
* [7.3 Für jedes MARC-Feld eine Spalte](07_3_fuer_jedes_marc-feld_eine_spalte.md)
* [7.4 Transformationen anwenden](07_4_transformationen_anwenden.md)
* [7.5 Alle Daten in ein Projekt laden](07_5_alle_daten_in_ein_projekt_laden.md)
* [7.6 Daten bereinigen](07_6_daten_bereinigen.md)
* [7.7 Felder definieren](07_7_felder_definieren.md)
* [7.8 Daten exportieren](07_8_daten_exportieren.md)
* [7.9 Automatisierung](07_9_automatisierung.md)
* [7.6 Felder definieren](07_6_felder_definieren.md)
* [7.7 Daten exportieren](07_7_daten_exportieren.md)
* [7.8 Automatisierung](07_8_automatisierung.md)
* [Lerntagebücher](lerntagebucher.md)
* [Prüfungsleistungen](pruefungsleistungen.md)

597
openrefine/07_5-6_all.json Normal file
View File

@ -0,0 +1,597 @@
[ { "op": "core/column-reorder", "description": "Reorder columns", "columnNames": [
"001",
"010 : a",
"015 : 2",
"015 : a",
"016 : 2",
"016 : a",
"020 : 9",
"020 : a",
"020 : c",
"020 : z",
"022 : a",
"022 : y",
"024 : 2",
"024 : a",
"024 : z",
"028 : a",
"029 : a",
"030 : a",
"032 : a",
"034 : 2",
"034 : A",
"034 : d",
"034 : e",
"034 : f",
"034 : g",
"034 : u",
"035 : a",
"040 : 9",
"040 : a",
"040 : b",
"040 : c",
"040 : d",
"040 : e",
"040 : f",
"041 : a",
"041 : b",
"041 : h",
"043 : c",
"044 : a",
"044 : c",
"050 : a",
"060 : a",
"079 : a",
"079 : b",
"079 : c",
"079 : q",
"079 : u",
"079 : v",
"082 : a",
"082 : c",
"083 : 2",
"083 : 9",
"083 : a",
"083 : z",
"084 : 0",
"084 : 2",
"084 : 9",
"084 : a",
"084 : c",
"084 : q",
"088 : a",
"089 : 2",
"089 : 9",
"089 : a",
"100 : 0",
"100 : 4",
"100 : 6",
"100 : 9",
"100 : a",
"100 : b",
"100 : c",
"100 : d",
"100 : e",
"100 : h",
"100 : m",
"100 : n",
"100 : p",
"100 : r",
"100 : t",
"110 : 0",
"110 : 4",
"110 : 9",
"110 : a",
"110 : b",
"110 : c",
"110 : d",
"110 : e",
"110 : f",
"110 : g",
"110 : n",
"110 : p",
"110 : t",
"110 : x",
"111 : 9",
"111 : a",
"111 : c",
"111 : d",
"111 : e",
"111 : n",
"130 : 0",
"130 : 9",
"130 : a",
"130 : f",
"130 : g",
"130 : k",
"130 : n",
"130 : o",
"130 : p",
"130 : r",
"130 : x",
"150 : 9",
"150 : a",
"150 : x",
"151 : 9",
"151 : a",
"151 : x",
"151 : z",
"210 : a",
"210 : b",
"245 : 6",
"245 : a",
"245 : b",
"245 : c",
"245 : h",
"245 : n",
"245 : p",
"246 : a",
"246 : b",
"246 : g",
"246 : i",
"250 : a",
"250 : b",
"255 : a",
"256 : a",
"260 : 0",
"260 : 6",
"260 : a",
"260 : b",
"260 : c",
"260 : w",
"263 : a",
"263 : w",
"263 : z",
"264 : 6",
"264 : a",
"264 : b",
"264 : c",
"300 : 4",
"300 : a",
"300 : b",
"300 : c",
"300 : e",
"300 : w",
"300 : z",
"336 : 2",
"336 : 8",
"336 : a",
"336 : b",
"337 : 2",
"337 : 8",
"337 : a",
"337 : b",
"338 : 2",
"338 : 8",
"338 : a",
"338 : b",
"362 : a",
"363 : a",
"363 : b",
"363 : i",
"363 : j",
"363 : k",
"363 : u",
"363 : x",
"365 : b",
"365 : y",
"372 : 2",
"372 : a",
"375 : 2",
"375 : 9",
"375 : a",
"377 : 2",
"377 : a",
"380 : 0",
"380 : 2",
"380 : a",
"382 : 0",
"382 : 2",
"382 : 9",
"382 : a",
"383 : a",
"383 : b",
"383 : c",
"384 : a",
"385 : 2",
"385 : a",
"400 : 5",
"400 : 9",
"400 : a",
"400 : b",
"400 : c",
"400 : d",
"400 : e",
"400 : f",
"400 : i",
"400 : m",
"400 : n",
"400 : p",
"400 : r",
"400 : s",
"400 : t",
"400 : w",
"400 : x",
"410 : 5",
"410 : 9",
"410 : a",
"410 : b",
"410 : e",
"410 : f",
"410 : i",
"410 : n",
"410 : p",
"410 : t",
"410 : w",
"410 : x",
"411 : 9",
"411 : a",
"411 : c",
"411 : d",
"411 : e",
"411 : i",
"411 : j",
"411 : n",
"411 : w",
"430 : 9",
"430 : a",
"430 : f",
"430 : i",
"430 : n",
"430 : p",
"430 : s",
"430 : w",
"430 : x",
"450 : 9",
"450 : a",
"450 : i",
"450 : w",
"450 : x",
"451 : 5",
"451 : 9",
"451 : a",
"451 : i",
"451 : w",
"451 : x",
"451 : z",
"490 : a",
"490 : t",
"490 : v",
"490 : w",
"490 : z",
"500 : 0",
"500 : 9",
"500 : a",
"500 : b",
"500 : c",
"500 : e",
"500 : i",
"500 : w",
"500 : z",
"501 : a",
"502 : a",
"502 : b",
"502 : c",
"502 : d",
"502 : g",
"504 : a",
"505 : a",
"510 : 0",
"510 : 9",
"510 : a",
"510 : b",
"510 : e",
"510 : i",
"510 : n",
"510 : w",
"510 : x",
"511 : 0",
"511 : 9",
"511 : a",
"511 : c",
"511 : d",
"511 : e",
"511 : i",
"511 : j",
"511 : n",
"511 : w",
"515 : a",
"520 : a",
"530 : 0",
"530 : 9",
"530 : a",
"530 : f",
"530 : i",
"530 : p",
"530 : w",
"533 : 7",
"533 : a",
"533 : b",
"533 : c",
"533 : d",
"533 : e",
"533 : f",
"533 : n",
"534 : a",
"534 : n",
"535 : a",
"538 : a",
"546 : a",
"548 : 9",
"548 : a",
"548 : i",
"548 : w",
"550 : 0",
"550 : 9",
"550 : a",
"550 : i",
"550 : w",
"550 : x",
"551 : 0",
"551 : 5",
"551 : 9",
"551 : a",
"551 : i",
"551 : w",
"551 : x",
"551 : z",
"555 : a",
"583 : a",
"583 : c",
"583 : k",
"583 : z",
"591 : a",
"600 : 0",
"600 : 2",
"600 : 8",
"600 : a",
"600 : b",
"600 : c",
"600 : d",
"600 : e",
"600 : l",
"600 : p",
"600 : q",
"600 : t",
"600 : v",
"600 : x",
"600 : z",
"610 : 0",
"610 : 2",
"610 : 8",
"610 : 9",
"610 : a",
"610 : b",
"610 : d",
"610 : g",
"610 : l",
"610 : t",
"610 : v",
"610 : x",
"610 : y",
"610 : z",
"611 : 0",
"611 : 2",
"611 : a",
"611 : c",
"611 : d",
"611 : n",
"611 : v",
"611 : x",
"630 : 2",
"630 : a",
"630 : d",
"630 : f",
"630 : k",
"630 : l",
"630 : p",
"630 : s",
"630 : v",
"630 : x",
"648 : 2",
"648 : 8",
"648 : a",
"650 : 0",
"650 : 2",
"650 : 8",
"650 : 9",
"650 : a",
"650 : b",
"650 : d",
"650 : v",
"650 : x",
"650 : y",
"650 : z",
"651 : 0",
"651 : 2",
"651 : 9",
"651 : a",
"651 : s",
"651 : v",
"651 : x",
"651 : y",
"651 : z",
"653 : 0",
"653 : 2",
"653 : a",
"653 : A",
"653 : f",
"653 : g",
"653 : h",
"653 : s",
"653 : S",
"653 : t",
"653 : x",
"655 : 0",
"655 : 2",
"655 : a",
"655 : x",
"667 : 5",
"667 : a",
"670 : a",
"670 : b",
"670 : u",
"675 : a",
"678 : a",
"678 : b",
"678 : u",
"679 : a",
"680 : a",
"689 : 0",
"689 : 5",
"689 : 9",
"689 : a",
"689 : A",
"689 : b",
"689 : c",
"689 : d",
"689 : n",
"689 : x",
"692 : a",
"700 : 0",
"700 : 2",
"700 : 4",
"700 : 5",
"700 : 6",
"700 : 9",
"700 : a",
"700 : b",
"700 : c",
"700 : d",
"700 : e",
"700 : t",
"700 : v",
"700 : w",
"710 : 0",
"710 : 2",
"710 : 4",
"710 : 9",
"710 : a",
"710 : b",
"710 : c",
"710 : d",
"710 : e",
"710 : g",
"710 : n",
"711 : 0",
"711 : 2",
"711 : a",
"711 : c",
"711 : d",
"711 : n",
"730 : 0",
"730 : 2",
"730 : 9",
"730 : a",
"730 : D",
"750 : 0",
"750 : 2",
"750 : 9",
"750 : a",
"751 : 0",
"751 : 2",
"751 : 9",
"751 : a",
"770 : 0",
"770 : d",
"770 : t",
"770 : w",
"772 : i",
"772 : t",
"772 : w",
"773 : d",
"773 : g",
"773 : i",
"773 : q",
"773 : t",
"773 : w",
"773 : x",
"773 : z",
"775 : i",
"775 : t",
"776 : a",
"776 : d",
"776 : h",
"776 : i",
"776 : o",
"776 : t",
"776 : w",
"776 : z",
"780 : i",
"780 : t",
"780 : w",
"785 : i",
"785 : t",
"785 : w",
"787 : d",
"787 : h",
"787 : i",
"787 : n",
"787 : t",
"787 : w",
"787 : z",
"800 : a",
"800 : b",
"800 : n",
"800 : p",
"800 : t",
"800 : v",
"800 : w",
"800 : z",
"810 : 9",
"810 : a",
"810 : b",
"810 : n",
"810 : p",
"810 : t",
"810 : v",
"810 : w",
"830 : 9",
"830 : a",
"830 : b",
"830 : n",
"830 : p",
"830 : v",
"830 : w",
"830 : z",
"856 : 3",
"856 : m",
"856 : q",
"856 : u",
"856 : y",
"856 : z",
"900 : a",
"900 : b",
"900 : c",
"900 : d",
"900 : e",
"900 : f",
"900 : g",
"900 : x",
"900 : z",
"912 : a",
"912 : b",
"912 : z",
"913 : a",
"950 : 2",
"950 : a",
"951 : 2",
"951 : a",
"952 : c",
"952 : d",
"952 : e",
"952 : g",
"952 : h",
"952 : j",
"952 : y",
"954 : 0",
"954 : a",
"954 : b",
"954 : c",
"954 : d",
"954 : e",
"954 : f",
"954 : g",
"954 : k",
"954 : x"
] } ]

View File

@ -0,0 +1,597 @@
[ { "op": "core/column-reorder", "description": "Reorder columns", "columnNames": [
"001",
"010 : a",
"015 : 2",
"015 : a",
"016 : 2",
"016 : a",
"020 : 9",
"020 : a",
"020 : c",
"020 : z",
"022 : a",
"022 : y",
"024 : 2",
"024 : a",
"024 : z",
"028 : a",
"029 : a",
"030 : a",
"032 : a",
"034 : 2",
"034 : A",
"034 : d",
"034 : e",
"034 : f",
"034 : g",
"034 : u",
"035 : a",
"040 : 9",
"040 : a",
"040 : b",
"040 : c",
"040 : d",
"040 : e",
"040 : f",
"041 : a",
"041 : b",
"041 : h",
"043 : c",
"044 : a",
"044 : c",
"050 : a",
"060 : a",
"079 : a",
"079 : b",
"079 : c",
"079 : q",
"079 : u",
"079 : v",
"082 : a",
"082 : c",
"083 : 2",
"083 : 9",
"083 : a",
"083 : z",
"084 : 0",
"084 : 2",
"084 : 9",
"084 : a",
"084 : c",
"084 : q",
"088 : a",
"089 : 2",
"089 : 9",
"089 : a",
"100 : 0",
"100 : 4",
"100 : 6",
"100 : 9",
"100 : a",
"100 : b",
"100 : c",
"100 : d",
"100 : e",
"100 : h",
"100 : m",
"100 : n",
"100 : p",
"100 : r",
"100 : t",
"110 : 0",
"110 : 4",
"110 : 9",
"110 : a",
"110 : b",
"110 : c",
"110 : d",
"110 : e",
"110 : f",
"110 : g",
"110 : n",
"110 : p",
"110 : t",
"110 : x",
"111 : 9",
"111 : a",
"111 : c",
"111 : d",
"111 : e",
"111 : n",
"130 : 0",
"130 : 9",
"130 : a",
"130 : f",
"130 : g",
"130 : k",
"130 : n",
"130 : o",
"130 : p",
"130 : r",
"130 : x",
"150 : 9",
"150 : a",
"150 : x",
"151 : 9",
"151 : a",
"151 : x",
"151 : z",
"210 : a",
"210 : b",
"245 : 6",
"245 : a",
"245 : b",
"245 : c",
"245 : h",
"245 : n",
"245 : p",
"246 : a",
"246 : b",
"246 : g",
"246 : i",
"250 : a",
"250 : b",
"255 : a",
"256 : a",
"260 : 0",
"260 : 6",
"260 : a",
"260 : b",
"260 : c",
"260 : w",
"263 : a",
"263 : w",
"263 : z",
"264 : 6",
"264 : a",
"264 : b",
"264 : c",
"300 : 4",
"300 : a",
"300 : b",
"300 : c",
"300 : e",
"300 : w",
"300 : z",
"336 : 2",
"336 : 8",
"336 : a",
"336 : b",
"337 : 2",
"337 : 8",
"337 : a",
"337 : b",
"338 : 2",
"338 : 8",
"338 : a",
"338 : b",
"362 : a",
"363 : a",
"363 : b",
"363 : i",
"363 : j",
"363 : k",
"363 : u",
"363 : x",
"365 : b",
"365 : y",
"372 : 2",
"372 : a",
"375 : 2",
"375 : 9",
"375 : a",
"377 : 2",
"377 : a",
"380 : 0",
"380 : 2",
"380 : a",
"382 : 0",
"382 : 2",
"382 : 9",
"382 : a",
"383 : a",
"383 : b",
"383 : c",
"384 : a",
"385 : 2",
"385 : a",
"400 : 5",
"400 : 9",
"400 : a",
"400 : b",
"400 : c",
"400 : d",
"400 : e",
"400 : f",
"400 : i",
"400 : m",
"400 : n",
"400 : p",
"400 : r",
"400 : s",
"400 : t",
"400 : w",
"400 : x",
"410 : 5",
"410 : 9",
"410 : a",
"410 : b",
"410 : e",
"410 : f",
"410 : i",
"410 : n",
"410 : p",
"410 : t",
"410 : w",
"410 : x",
"411 : 9",
"411 : a",
"411 : c",
"411 : d",
"411 : e",
"411 : i",
"411 : j",
"411 : n",
"411 : w",
"430 : 9",
"430 : a",
"430 : f",
"430 : i",
"430 : n",
"430 : p",
"430 : s",
"430 : w",
"430 : x",
"450 : 9",
"450 : a",
"450 : i",
"450 : w",
"450 : x",
"451 : 5",
"451 : 9",
"451 : a",
"451 : i",
"451 : w",
"451 : x",
"451 : z",
"490 : a",
"490 : t",
"490 : v",
"490 : w",
"490 : z",
"500 : 0",
"500 : 9",
"500 : a",
"500 : b",
"500 : c",
"500 : e",
"500 : i",
"500 : w",
"500 : z",
"501 : a",
"502 : a",
"502 : b",
"502 : c",
"502 : d",
"502 : g",
"504 : a",
"505 : a",
"510 : 0",
"510 : 9",
"510 : a",
"510 : b",
"510 : e",
"510 : i",
"510 : n",
"510 : w",
"510 : x",
"511 : 0",
"511 : 9",
"511 : a",
"511 : c",
"511 : d",
"511 : e",
"511 : i",
"511 : j",
"511 : n",
"511 : w",
"515 : a",
"520 : a",
"530 : 0",
"530 : 9",
"530 : a",
"530 : f",
"530 : i",
"530 : p",
"530 : w",
"533 : 7",
"533 : a",
"533 : b",
"533 : c",
"533 : d",
"533 : e",
"533 : f",
"533 : n",
"534 : a",
"534 : n",
"535 : a",
"538 : a",
"546 : a",
"548 : 9",
"548 : a",
"548 : i",
"548 : w",
"550 : 0",
"550 : 9",
"550 : a",
"550 : i",
"550 : w",
"550 : x",
"551 : 0",
"551 : 5",
"551 : 9",
"551 : a",
"551 : i",
"551 : w",
"551 : x",
"551 : z",
"555 : a",
"583 : a",
"583 : c",
"583 : k",
"583 : z",
"591 : a",
"600 : 0",
"600 : 2",
"600 : 8",
"600 : a",
"600 : b",
"600 : c",
"600 : d",
"600 : e",
"600 : l",
"600 : p",
"600 : q",
"600 : t",
"600 : v",
"600 : x",
"600 : z",
"610 : 0",
"610 : 2",
"610 : 8",
"610 : 9",
"610 : a",
"610 : b",
"610 : d",
"610 : g",
"610 : l",
"610 : t",
"610 : v",
"610 : x",
"610 : y",
"610 : z",
"611 : 0",
"611 : 2",
"611 : a",
"611 : c",
"611 : d",
"611 : n",
"611 : v",
"611 : x",
"630 : 2",
"630 : a",
"630 : d",
"630 : f",
"630 : k",
"630 : l",
"630 : p",
"630 : s",
"630 : v",
"630 : x",
"648 : 2",
"648 : 8",
"648 : a",
"650 : 0",
"650 : 2",
"650 : 8",
"650 : 9",
"650 : a",
"650 : b",
"650 : d",
"650 : v",
"650 : x",
"650 : y",
"650 : z",
"651 : 0",
"651 : 2",
"651 : 9",
"651 : a",
"651 : s",
"651 : v",
"651 : x",
"651 : y",
"651 : z",
"653 : 0",
"653 : 2",
"653 : a",
"653 : A",
"653 : f",
"653 : g",
"653 : h",
"653 : s",
"653 : S",
"653 : t",
"653 : x",
"655 : 0",
"655 : 2",
"655 : a",
"655 : x",
"667 : 5",
"667 : a",
"670 : a",
"670 : b",
"670 : u",
"675 : a",
"678 : a",
"678 : b",
"678 : u",
"679 : a",
"680 : a",
"689 : 0",
"689 : 5",
"689 : 9",
"689 : a",
"689 : A",
"689 : b",
"689 : c",
"689 : d",
"689 : n",
"689 : x",
"692 : a",
"700 : 0",
"700 : 2",
"700 : 4",
"700 : 5",
"700 : 6",
"700 : 9",
"700 : a",
"700 : b",
"700 : c",
"700 : d",
"700 : e",
"700 : t",
"700 : v",
"700 : w",
"710 : 0",
"710 : 2",
"710 : 4",
"710 : 9",
"710 : a",
"710 : b",
"710 : c",
"710 : d",
"710 : e",
"710 : g",
"710 : n",
"711 : 0",
"711 : 2",
"711 : a",
"711 : c",
"711 : d",
"711 : n",
"730 : 0",
"730 : 2",
"730 : 9",
"730 : a",
"730 : D",
"750 : 0",
"750 : 2",
"750 : 9",
"750 : a",
"751 : 0",
"751 : 2",
"751 : 9",
"751 : a",
"770 : 0",
"770 : d",
"770 : t",
"770 : w",
"772 : i",
"772 : t",
"772 : w",
"773 : d",
"773 : g",
"773 : i",
"773 : q",
"773 : t",
"773 : w",
"773 : x",
"773 : z",
"775 : i",
"775 : t",
"776 : a",
"776 : d",
"776 : h",
"776 : i",
"776 : o",
"776 : t",
"776 : w",
"776 : z",
"780 : i",
"780 : t",
"780 : w",
"785 : i",
"785 : t",
"785 : w",
"787 : d",
"787 : h",
"787 : i",
"787 : n",
"787 : t",
"787 : w",
"787 : z",
"800 : a",
"800 : b",
"800 : n",
"800 : p",
"800 : t",
"800 : v",
"800 : w",
"800 : z",
"810 : 9",
"810 : a",
"810 : b",
"810 : n",
"810 : p",
"810 : t",
"810 : v",
"810 : w",
"830 : 9",
"830 : a",
"830 : b",
"830 : n",
"830 : p",
"830 : v",
"830 : w",
"830 : z",
"856 : 3",
"856 : m",
"856 : q",
"856 : u",
"856 : y",
"856 : z",
"900 : a",
"900 : b",
"900 : c",
"900 : d",
"900 : e",
"900 : f",
"900 : g",
"900 : x",
"900 : z",
"912 : a",
"912 : b",
"912 : z",
"913 : a",
"950 : 2",
"950 : a",
"951 : 2",
"951 : a",
"952 : c",
"952 : d",
"952 : e",
"952 : g",
"952 : h",
"952 : j",
"952 : y",
"954 : 0",
"954 : a",
"954 : b",
"954 : c",
"954 : d",
"954 : e",
"954 : f",
"954 : g",
"954 : k",
"954 : x"
] } ]

3
openrefine/07_6-3.json Normal file
View File

@ -0,0 +1,3 @@
[
{ }
]

3
openrefine/07_6-4.json Normal file
View File

@ -0,0 +1,3 @@
[
{ }
]