noah/README.md

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

Datenflussdiagramm

Verwendete Tools

Systemvoraussetzungen

  • GNU/Linux (getestet mit Fedora 32)
  • JAVA 8+
  • cURL, xmllint

Installation

  1. Git Repository klonen

    git clone https://github.com/opencultureconsulting/noah.git
    cd noah
    
  2. metha 0.2.20

    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
    
  3. Task 3.2.2

    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
    
  4. 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
  • Die im Workflow verwendeten OpenRefine-Transformationsregeln liegen im Unterordner config der jeweiligen Datenquelle
  • 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.