159ccc1a17 | ||
---|---|---|
rules | ||
tasks | ||
.gitignore | ||
LICENSE | ||
README.md | ||
Taskfile.yml | ||
flowchart.mmd | ||
flowchart.svg |
README.md
Datenintegration für noah.nrw
Harvesting von OAI-PMH-Schnittstellen und Transformation in METS/MODS für das Portal noah.nrw
⚠️ Dies ist ein Prototyp für die Beta-Version des Portals.
Datenfluss
Verwendete Tools
- Harvesting (mit Cache): metha
- Transformation: OpenRefine und openrefine-client
- ⚠️ Für den Produktivbetrieb ist der Einsatz von metafacture geplant.
- Task Runner: Task
Systemvoraussetzungen
- GNU/Linux (getestet mit Fedora 32)
- JAVA 8+
Installation
-
Git Repository klonen
git clone https://github.com/opencultureconsulting/noah.git cd noah
-
OpenRefine 3.4.1 (benötigt JAVA 8+)
# in Unterverzeichnis openrefine installieren wget -O openrefine.tar.gz https://github.com/OpenRefine/OpenRefine/releases/download/3.4.1/openrefine-linux-3.4.1.tar.gz mkdir -p openrefine tar -xzf openrefine.tar.gz -C openrefine --strip 1 && rm openrefine.tar.gz # automatisches Starten des Browsers abschalten sed -i '$ a JAVA_OPTIONS=-Drefine.headless=true' "openrefine/refine.ini" # Zeitraum für automatisches Speichern von 5 Minuten auf 25 Stunden erhöhen sed -i 's/#REFINE_AUTOSAVE_PERIOD=60/REFINE_AUTOSAVE_PERIOD=1440/' "openrefine/refine.ini"
-
# in Unterverzeichnis openrefine installieren mkdir -p openrefine wget -O openrefine/openrefine-client https://github.com/opencultureconsulting/openrefine-client/releases/download/v0.3.10/openrefine-client_0-3-10_linux chmod +x openrefine/openrefine-client
-
a) RPM-basiert (Fedora, CentOS, SLES, etc.)
wget https://github.com/miku/metha/releases/download/v0.2.20/metha-0.2.20-0.x86_64.rpm sudo dnf install ./metha-0.2.20-0.x86_64.rpm && rm metha-0.2.20-0.x86_64.rpm
b) DEB-basiert (Debian, Ubuntu etc.)
wget https://github.com/miku/metha/releases/download/v0.2.20/metha_0.2.20_amd64.deb sudo apt install ./metha_0.2.20_amd64.deb && rm metha_0.2.20_amd64.deb
-
a) RPM-basiert (Fedora, CentOS, SLES, etc.)
wget https://github.com/go-task/task/releases/download/v3.2.2/task_linux_amd64.rpm sudo dnf install ./task_linux_amd64.rpm && rm task_linux_amd64.rpm
b) DEB-basiert (Debian, Ubuntu etc.)
wget https://github.com/go-task/task/releases/download/v3.2.2/task_linux_amd64.deb sudo apt install ./task_linux_amd64.deb && rm task_linux_amd64.deb
Nutzung
-
Vorab ggf. ulimit erhöhen, um Abbruch durch "too many open files" zu vermeiden
ulimit -n 10000
-
Alle Datenquellen harvesten, transformieren und validieren (parallelisiert)
task
-
Eine Datenquelle harvesten, transformieren und validieren
task siegen:default
-
Zwei Datenquellen harvesten, transformieren und validieren (parallelisiert)
task --parallel siegen:default wuppertal:default
-
Links einer Datenquelle überprüfen
task siegen:linkcheck
-
Cache einer Datenquelle löschen
task siegen:delete
-
Verfügbare Tasks auflisten
task --list
Konfiguration
- Workflow für die jeweilige Datenquelle in tasks
- Beispiel: tasks/siegen.yml
- OpenRefine-Transformationsregeln in rules
- Beispiel: rules/siegen/hbz.json
- Allgemeine Tasks (z.B. Validierung) in Taskfile.yml
OAI-PMH Data Provider
Für die Bereitstellung der transformierten Daten wird der dateibasierte OAI-PMH Data Provider oai_pmh genutzt. Installations- und Nutzungshinweise sind dort zu finden.