3.7 KiB
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+
- cURL, xmllint
Installation
-
Git Repository klonen
git clone https://github.com/opencultureconsulting/noah.git cd noah
-
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
-
Install task ausführen, um OpenRefine 3.4.1 und openrefine-client 0.3.10 herunterzuladen
task install
Nutzung
-
Vorab ggf. ulimit erhöhen, um Abbruch durch "too many open files" zu vermeiden
ulimit -n 20000
-
Alle Datenquellen (parallelisiert)
task
-
Eine Datenquelle
task siegen:main
-
Zwei Datenquellen (parallelisiert)
task --parallel siegen:main wuppertal:main
-
Trotzdem Verarbeitung starten, auch wenn Checksummenprüfung ergibt, dass nichts zu tun wäre
task siegen:main --force
-
Zur Fehlerbehebung: Befehle ausgeben, aber nicht ausführen
task siegen:main --dry --verbose --force
-
Links einer Datenquelle überprüfen
task siegen:linkcheck
-
Cache einer Datenquelle löschen
task siegen:delete
-
Verfügbare Tasks auflisten
task --list
Konfiguration
- Der Workflow einer Datenquelle wird im jeweiligen spezifischen
Taskfile.yml
definiert- Beispiel: siegen/Taskfile.yml
- Die im Workflow verwendeten OpenRefine-Transformationsregeln liegen im Unterordner
config
der jeweiligen Datenquelle- Beispiel: siegen/config/hbz.json
- Allgemeine Tasks (z.B. Validierung) werden im Taskfile.yml des Hauptordners definiert.
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.