mirror of
https://github.com/opencultureconsulting/noah.git
synced 2025-04-13 00:00:15 +02:00
Weitere Variablen nutzen, damit diff zwischen zwei Datenquellen möglichst aussagekräftig wird #20
This commit is contained in:
parent
4d259e30fe
commit
acd10b3ebb
24
Taskfile.yml
24
Taskfile.yml
@ -37,6 +37,30 @@ tasks:
|
|||||||
- task: wuppertal:default
|
- task: wuppertal:default
|
||||||
- task: siegen:default
|
- task: siegen:default
|
||||||
|
|
||||||
|
openrefine-start:
|
||||||
|
label: '{{.TASK}}-{{.PROJECT}}'
|
||||||
|
dir: data/{{.PROJECT}}/refine
|
||||||
|
cmds:
|
||||||
|
- test -n "{{.PROJECT}}"; test -n "{{.PORT}}"; test -n "{{.RAM}}"
|
||||||
|
# OpenRefine starten und Logdatei schreiben für spätere checks
|
||||||
|
- $OPENREFINE -v warn -p {{.PORT}} -m {{.RAM}} -d $PWD > openrefine.log 2>&1 &
|
||||||
|
# Warten bis OpenRefine erreichbar ist
|
||||||
|
- timeout 30s bash -c "until curl -s http://localhost:{{.PORT}} | cat | grep -q -o OpenRefine ; do sleep 1; done"
|
||||||
|
|
||||||
|
openrefine-stop:
|
||||||
|
label: '{{.TASK}}-{{.PROJECT}}'
|
||||||
|
dir: data/{{.PROJECT}}/refine
|
||||||
|
cmds:
|
||||||
|
- test -n "{{.PROJECT}}"; test -n "{{.PORT}}"
|
||||||
|
# Statistik zu Laufzeit und Ressourcenverbrauch
|
||||||
|
- ps -o start,etime,%mem,%cpu,rss -p $(lsof -t -i:{{.PORT}})
|
||||||
|
# OpenRefine herunterfahren
|
||||||
|
- PID=$(lsof -t -i:{{.PORT}}); kill $PID; while ps -p $PID > /dev/null; do sleep 1; done
|
||||||
|
# OpenRefine-Projekt für Debugging archivieren
|
||||||
|
- tar cfz {{.PROJECT}}.openrefine.tar.gz -C $(grep -l {{.PROJECT}} *.project/metadata.json | cut -d '/' -f 1) .
|
||||||
|
# Temporäre Dateien löschen
|
||||||
|
- rm -rf ./*.project* && rm -f workspace.json
|
||||||
|
|
||||||
check:
|
check:
|
||||||
label: '{{.TASK}}-{{.PROJECT}}'
|
label: '{{.TASK}}-{{.PROJECT}}'
|
||||||
dir: data/{{.PROJECT}}/refine
|
dir: data/{{.PROJECT}}/refine
|
||||||
|
@ -3,91 +3,91 @@
|
|||||||
version: '3'
|
version: '3'
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
# Tasks mit ":" sind für alle Datenquellen gleich in Taskfile.yml definiert
|
|
||||||
default:
|
default:
|
||||||
desc: OPUS Siegen
|
desc: OPUS Siegen
|
||||||
deps: [harvest]
|
vars:
|
||||||
|
PROJECT: siegen
|
||||||
|
MINIMUM: 1250 # Mindestanzahl der zu erwartenden Datensätze
|
||||||
cmds:
|
cmds:
|
||||||
|
- task: harvest
|
||||||
- task: refine
|
- task: refine
|
||||||
|
# Folgende Tasks beginnend mit ":" sind für alle Datenquellen gleich in Taskfile.yml definiert
|
||||||
- task: :check
|
- task: :check
|
||||||
vars: {PROJECT: "siegen", MINIMUM: "1250"}
|
vars: {PROJECT: '{{.PROJECT}}', MINIMUM: '{{.MINIMUM}}'}
|
||||||
- task: :split
|
- task: :split
|
||||||
vars: {PROJECT: "siegen"}
|
vars: {PROJECT: '{{.PROJECT}}'}
|
||||||
- task: :validate
|
- task: :validate
|
||||||
vars: {PROJECT: "siegen"}
|
vars: {PROJECT: '{{.PROJECT}}'}
|
||||||
- task: :zip
|
- task: :zip
|
||||||
vars: {PROJECT: "siegen"}
|
vars: {PROJECT: '{{.PROJECT}}'}
|
||||||
- task: :diff
|
- task: :diff
|
||||||
vars: {PROJECT: "siegen"}
|
vars: {PROJECT: '{{.PROJECT}}'}
|
||||||
|
|
||||||
harvest:
|
harvest:
|
||||||
dir: data/siegen/harvest
|
dir: data/{{.PROJECT}}/harvest
|
||||||
|
vars:
|
||||||
|
URL: https://dspace.ub.uni-siegen.de/oai/request
|
||||||
|
FORMAT: xMetaDissPlus
|
||||||
|
PROJECT: siegen
|
||||||
cmds:
|
cmds:
|
||||||
- METHA_DIR=$PWD metha-sync --format xMetaDissPlus https://dspace.ub.uni-siegen.de/oai/request
|
- METHA_DIR=$PWD metha-sync --format {{.FORMAT}} {{.URL}}
|
||||||
- METHA_DIR=$PWD metha-cat --format xMetaDissPlus https://dspace.ub.uni-siegen.de/oai/request > siegen.xml
|
- METHA_DIR=$PWD metha-cat --format {{.FORMAT}} {{.URL}} > {{.PROJECT}}.xml
|
||||||
|
|
||||||
refine:
|
refine:
|
||||||
dir: data/siegen/refine
|
dir: data/{{.PROJECT}}/refine
|
||||||
ignore_error: true # provisorisch verwaisten Java-Prozess bei Exit vermeiden https://github.com/go-task/task/issues/141
|
ignore_error: true # provisorisch verwaisten Java-Prozess bei Exit vermeiden https://github.com/go-task/task/issues/141
|
||||||
env:
|
vars:
|
||||||
PORT: 3334
|
PORT: 3334
|
||||||
RAM: 4G
|
RAM: 4G
|
||||||
PROJECT: siegen
|
PROJECT: siegen
|
||||||
cmds:
|
cmds:
|
||||||
# OpenRefine starten
|
- task: :openrefine-start
|
||||||
- $OPENREFINE -v warn -p $PORT -m $RAM -d $PWD > openrefine.log 2>&1 &
|
vars: {PROJECT: '{{.PROJECT}}', PORT: '{{.PORT}}', RAM: '{{.RAM}}'}
|
||||||
- timeout 30s bash -c "until curl -s http://localhost:$PORT | cat | grep -q -o OpenRefine ; do sleep 1; done"
|
|
||||||
# Import (erfordert absoluten Pfad zur XML-Datei)
|
# Import (erfordert absoluten Pfad zur XML-Datei)
|
||||||
- $OPENREFINE_CLIENT -P $PORT --create "$(readlink -e ../harvest/siegen.xml)" --recordPath Records --recordPath Record --storeEmptyStrings false --trimStrings true --projectName $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --create "$(readlink -e ../harvest/{{.PROJECT}}.xml)" --recordPath Records --recordPath Record --storeEmptyStrings false --trimStrings true --projectName {{.PROJECT}}
|
||||||
# Vorverarbeitung: Identifier in erste Spalte; nicht benötigte Spalten (ohne differenzierende Merkmale) löschen; verbleibende Spalten umbenennen (Pfad entfernen)
|
# Vorverarbeitung: Identifier in erste Spalte; nicht benötigte Spalten (ohne differenzierende Merkmale) löschen; verbleibende Spalten umbenennen (Pfad entfernen)
|
||||||
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/siegen/vorverarbeitung.json $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/vorverarbeitung.json {{.PROJECT}}
|
||||||
# URNs extrahieren: Dubletten entfernen und verschiedene URNs zusammenführen
|
# URNs extrahieren: Dubletten entfernen und verschiedene URNs zusammenführen
|
||||||
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/siegen/urn.json $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/urn.json {{.PROJECT}}
|
||||||
# Fehlende Direktlinks aus Format METS ergänzen: Wenn keine Angabe in ddb:transfer, dann zusätzlich METS Format abfragen und daraus METS Flocat extrahieren
|
# Fehlende Direktlinks aus Format METS ergänzen: Wenn keine Angabe in ddb:transfer, dann zusätzlich METS Format abfragen und daraus METS Flocat extrahieren
|
||||||
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/siegen/direktlinks.json $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/direktlinks.json {{.PROJECT}}
|
||||||
# Datensätze ohne Direktlink auf ein PDF löschen
|
# Datensätze ohne Direktlink auf ein PDF löschen
|
||||||
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/siegen/nur-mit-pdf.json $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/nur-mit-pdf.json {{.PROJECT}}
|
||||||
# Aufteilung dc:subject in ddc und topic
|
# Aufteilung dc:subject in ddc und topic
|
||||||
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/siegen/ddc-topic.json $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/ddc-topic.json {{.PROJECT}}
|
||||||
# Standardisierte Rechteangaben (Canonical Name aus CC Links in dc:rights)
|
# Standardisierte Rechteangaben (Canonical Name aus CC Links in dc:rights)
|
||||||
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/siegen/cc.json $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/cc.json {{.PROJECT}}
|
||||||
# Internet Media Type aus ddb:transfer ableiten: Mapping manuell nach Apache http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/conf/mime.types?view=markup
|
# Internet Media Type aus ddb:transfer ableiten: Mapping manuell nach Apache http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/conf/mime.types?view=markup
|
||||||
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/siegen/mime.json $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/mime.json {{.PROJECT}}
|
||||||
# DOIs aus Format OAI_DC ergänzen: Für alle Datensätze zusätzlich DC Format abfragen und daraus dc:identifier mit Typ doi extrahieren
|
# DOIs aus Format OAI_DC ergänzen: Für alle Datensätze zusätzlich DC Format abfragen und daraus dc:identifier mit Typ doi extrahieren
|
||||||
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/siegen/doi.json $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/doi.json {{.PROJECT}}
|
||||||
# Anreicherung HT-Nummer via lobid-resources: Bei mehreren URNs ODER-Suche; bei mehreren Treffern wird nur der erste übernommen
|
# Anreicherung HT-Nummer via lobid-resources: Bei mehreren URNs ODER-Suche; bei mehreren Treffern wird nur der erste übernommen
|
||||||
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/siegen/hbz.json $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/hbz.json {{.PROJECT}}
|
||||||
# Sortierung mods:nonSort für das erste Element in dc:title
|
# Sortierung mods:nonSort für das erste Element in dc:title
|
||||||
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/siegen/nonsort.json $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/nonsort.json {{.PROJECT}}
|
||||||
# DINI Publikationstypen aus dc:type extrahieren
|
# DINI Publikationstypen aus dc:type extrahieren
|
||||||
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/siegen/dini.json $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/dini.json {{.PROJECT}}
|
||||||
# Visual Library doctype aus dc:type: Wenn thesis:level == thesis.habilitation dann doctype oaHabil
|
# Visual Library doctype aus dc:type: Wenn thesis:level == thesis.habilitation dann doctype oaHabil
|
||||||
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/siegen/doctype.json $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/doctype.json {{.PROJECT}}
|
||||||
# Datenstruktur für Templating vorbereiten: Pro Zeile ein Datensatz und leere Zeilen löschen
|
# Datenstruktur für Templating vorbereiten: Pro Zeile ein Datensatz und leere Zeilen löschen
|
||||||
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/siegen/join.json $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/join.json {{.PROJECT}}
|
||||||
# Export in METS:MODS mit Templating
|
# Export in METS:MODS mit Templating
|
||||||
- |
|
- |
|
||||||
$OPENREFINE_CLIENT -P $PORT --export --template "$(< ../../../rules/siegen/template.txt)" --rowSeparator "
|
$OPENREFINE_CLIENT -P {{.PORT}} --export --template "$(< ../../../rules/{{.PROJECT}}/template.txt)" --rowSeparator "
|
||||||
<!-- SPLIT -->
|
<!-- SPLIT -->
|
||||||
" --suffix "
|
" --suffix "
|
||||||
" --output siegen.txt $PROJECT
|
" --output {{.PROJECT}}.txt {{.PROJECT}}
|
||||||
# Statistik zu Laufzeit und Ressourcenverbrauch
|
- task: :openrefine-stop
|
||||||
- ps -o start,etime,%mem,%cpu,rss -p $(lsof -t -i:$PORT)
|
vars: {PROJECT: '{{.PROJECT}}', PORT: '{{.PORT}}'}
|
||||||
# OpenRefine beenden
|
|
||||||
- PID=$(lsof -t -i:$PORT); kill $PID; while ps -p $PID > /dev/null; do sleep 1; done
|
|
||||||
# OpenRefine-Projekt für Debugging archivieren
|
|
||||||
- tar cfz siegen.openrefine.tar.gz -C $(grep -l siegen *.project/metadata.json | cut -d '/' -f 1) .
|
|
||||||
# Temporäre Dateien löschen
|
|
||||||
- rm -rf ./*.project* && rm -f workspace.json
|
|
||||||
sources:
|
sources:
|
||||||
- ../harvest/siegen.xml
|
- ../harvest/{{.PROJECT}}.xml
|
||||||
- ../../../rules/siegen/*.json
|
- ../../../rules/{{.PROJECT}}/*.json
|
||||||
- ../../../rules/siegen/template.txt
|
- ../../../rules/{{.PROJECT}}/template.txt
|
||||||
#TODO - ../../../rules/common/*.json
|
#TODO - ../../../rules/common/*.json
|
||||||
generates:
|
generates:
|
||||||
- openrefine.log
|
- openrefine.log
|
||||||
- siegen.txt
|
- '{{.PROJECT}}.txt'
|
||||||
- siegen.openrefine.tar.gz
|
- '{{.PROJECT}}.openrefine.tar.gz'
|
||||||
|
|
||||||
linkcheck:
|
linkcheck:
|
||||||
desc: OPUS Siegen links überprüfen
|
desc: OPUS Siegen links überprüfen
|
||||||
|
@ -3,93 +3,93 @@
|
|||||||
version: '3'
|
version: '3'
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
# Tasks mit ":" sind für alle Datenquellen gleich in Taskfile.yml definiert
|
|
||||||
default:
|
default:
|
||||||
desc: Elpub Wuppertal
|
desc: Elpub Wuppertal
|
||||||
deps: [harvest]
|
vars:
|
||||||
|
PROJECT: wuppertal
|
||||||
|
MINIMUM: 1300 # Mindestanzahl der zu erwartenden Datensätze
|
||||||
cmds:
|
cmds:
|
||||||
|
- task: harvest
|
||||||
- task: refine
|
- task: refine
|
||||||
|
# Folgende Tasks beginnend mit ":" sind für alle Datenquellen gleich in Taskfile.yml definiert
|
||||||
- task: :check
|
- task: :check
|
||||||
vars: {PROJECT: "wuppertal", MINIMUM: "1300"}
|
vars: {PROJECT: '{{.PROJECT}}', MINIMUM: '{{.MINIMUM}}'}
|
||||||
- task: :split
|
- task: :split
|
||||||
vars: {PROJECT: "wuppertal"}
|
vars: {PROJECT: '{{.PROJECT}}'}
|
||||||
- task: :validate
|
- task: :validate
|
||||||
vars: {PROJECT: "wuppertal"}
|
vars: {PROJECT: '{{.PROJECT}}'}
|
||||||
- task: :zip
|
- task: :zip
|
||||||
vars: {PROJECT: "wuppertal"}
|
vars: {PROJECT: '{{.PROJECT}}'}
|
||||||
- task: :diff
|
- task: :diff
|
||||||
vars: {PROJECT: "wuppertal"}
|
vars: {PROJECT: '{{.PROJECT}}'}
|
||||||
|
|
||||||
harvest:
|
harvest:
|
||||||
dir: data/wuppertal/harvest
|
dir: data/{{.PROJECT}}/harvest
|
||||||
|
vars:
|
||||||
|
URL: http://elpub.bib.uni-wuppertal.de/servlets/OAIDataProvider
|
||||||
|
FORMAT: oai_dc
|
||||||
|
PROJECT: wuppertal
|
||||||
cmds:
|
cmds:
|
||||||
- METHA_DIR=$PWD metha-sync --format oai_dc http://elpub.bib.uni-wuppertal.de/servlets/OAIDataProvider
|
- METHA_DIR=$PWD metha-sync --format {{.FORMAT}} {{.URL}}
|
||||||
- METHA_DIR=$PWD metha-cat --format oai_dc http://elpub.bib.uni-wuppertal.de/servlets/OAIDataProvider > wuppertal.xml
|
- METHA_DIR=$PWD metha-cat --format {{.FORMAT}} {{.URL}} > {{.PROJECT}}.xml
|
||||||
|
|
||||||
refine:
|
refine:
|
||||||
dir: data/wuppertal/refine
|
dir: data/{{.PROJECT}}/refine
|
||||||
ignore_error: true # provisorisch verwaisten Java-Prozess bei Exit vermeiden https://github.com/go-task/task/issues/141
|
ignore_error: true # provisorisch verwaisten Java-Prozess bei Exit vermeiden https://github.com/go-task/task/issues/141
|
||||||
env:
|
vars:
|
||||||
PORT: 3335
|
PORT: 3335
|
||||||
RAM: 4G
|
RAM: 4G
|
||||||
PROJECT: wuppertal
|
PROJECT: wuppertal
|
||||||
cmds:
|
cmds:
|
||||||
# OpenRefine starten
|
- task: :openrefine-start
|
||||||
- $OPENREFINE -v warn -p $PORT -m $RAM -d $PWD > openrefine.log 2>&1 &
|
vars: {PROJECT: '{{.PROJECT}}', PORT: '{{.PORT}}', RAM: '{{.RAM}}'}
|
||||||
- timeout 30s bash -c "until curl -s http://localhost:$PORT | cat | grep -q -o OpenRefine ; do sleep 1; done"
|
|
||||||
# Import (erfordert absoluten Pfad zur XML-Datei)
|
# Import (erfordert absoluten Pfad zur XML-Datei)
|
||||||
- $OPENREFINE_CLIENT -P $PORT --create "$(readlink -e ../harvest/wuppertal.xml)" --recordPath Records --recordPath Record --storeEmptyStrings false --trimStrings true --projectName $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --create "$(readlink -e ../harvest/{{.PROJECT}}.xml)" --recordPath Records --recordPath Record --storeEmptyStrings false --trimStrings true --projectName {{.PROJECT}}
|
||||||
# Vorverarbeitung: Identifier in erste Spalte; nicht benötigte Spalten (ohne differenzierende Merkmale) löschen; verbleibende Spalten umbenennen (Pfad entfernen)
|
# Vorverarbeitung: Identifier in erste Spalte; nicht benötigte Spalten (ohne differenzierende Merkmale) löschen; verbleibende Spalten umbenennen (Pfad entfernen)
|
||||||
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/wuppertal/vorverarbeitung.json $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/vorverarbeitung.json {{.PROJECT}}
|
||||||
# Entfernen von HTML-Tags und Transformation von subscript und superscript in Unicode (betrifft dc:description, dc:source und dc:title)
|
# Entfernen von HTML-Tags und Transformation von subscript und superscript in Unicode (betrifft dc:description, dc:source und dc:title)
|
||||||
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/wuppertal/html.json $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/html.json {{.PROJECT}}
|
||||||
# DDC einheitlich auf drei Ziffern vereinheitlichen (betrifft dc:subjects und oai:setSpec)
|
# DDC einheitlich auf drei Ziffern vereinheitlichen (betrifft dc:subjects und oai:setSpec)
|
||||||
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/wuppertal/ddc.json $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/ddc.json {{.PROJECT}}
|
||||||
# dc:publisher setzen
|
# dc:publisher setzen
|
||||||
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/wuppertal/publisher.json $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/publisher.json {{.PROJECT}}
|
||||||
# URNs, DOIs und PDF-Links aus dc:identifier extrahieren
|
# URNs, DOIs und PDF-Links aus dc:identifier extrahieren
|
||||||
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/wuppertal/identifier.json $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/identifier.json {{.PROJECT}}
|
||||||
# Direktlinks generieren durch Abgleich der URNs mit nbn-resolving und Datensätze ohne Direktlink auf ein PDF löschen
|
# Direktlinks generieren durch Abgleich der URNs mit nbn-resolving und Datensätze ohne Direktlink auf ein PDF löschen
|
||||||
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/wuppertal/nbn.json $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/nbn.json {{.PROJECT}}
|
||||||
# Aufteilung dc:subject in ioo und topic
|
# Aufteilung dc:subject in ioo und topic
|
||||||
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/wuppertal/subjects.json $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/subjects.json {{.PROJECT}}
|
||||||
# Standardisierte Rechteangaben Teil 1 (Links zu CC-Lizenzen)
|
# Standardisierte Rechteangaben Teil 1 (Links zu CC-Lizenzen)
|
||||||
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/wuppertal/rights.json $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/rights.json {{.PROJECT}}
|
||||||
# Datenstruktur für Templating vorbereiten: Pro Zeile ein Datensatz und leere Zeilen löschen
|
# Datenstruktur für Templating vorbereiten: Pro Zeile ein Datensatz und leere Zeilen löschen
|
||||||
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/wuppertal/join.json $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/join.json {{.PROJECT}}
|
||||||
# Zusammenführung gleichsprachiger Titelangaben zu Title/Subtitle
|
# Zusammenführung gleichsprachiger Titelangaben zu Title/Subtitle
|
||||||
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/wuppertal/subtitle.json $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/subtitle.json {{.PROJECT}}
|
||||||
# Sprachangaben nach ISO-639-2b (betrifft dc:language sowie die xml:lang Attribute für dc:coverage, dc:description und dc:title)
|
# Sprachangaben nach ISO-639-2b (betrifft dc:language sowie die xml:lang Attribute für dc:coverage, dc:description und dc:title)
|
||||||
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/wuppertal/language.json $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/language.json {{.PROJECT}}
|
||||||
# Standardisierte Rechteangaben Teil 2 (Canonical Name für CC-Lizenzen)
|
# Standardisierte Rechteangaben Teil 2 (Canonical Name für CC-Lizenzen)
|
||||||
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/wuppertal/rights-cc.json $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/rights-cc.json {{.PROJECT}}
|
||||||
# Anreicherung HT-Nummer via lobid-resources
|
# Anreicherung HT-Nummer via lobid-resources
|
||||||
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/wuppertal/hbz.json $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/hbz.json {{.PROJECT}}
|
||||||
# Sortierung mods:nonSort für das erste Element in dc:title
|
# Sortierung mods:nonSort für das erste Element in dc:title
|
||||||
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/wuppertal/nonsort.json $PROJECT
|
- $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/nonsort.json {{.PROJECT}}
|
||||||
# Export in METS:MODS mit Templating
|
# Export in METS:MODS mit Templating
|
||||||
- |
|
- |
|
||||||
$OPENREFINE_CLIENT -P $PORT --export --template "$(< ../../../rules/wuppertal/template.txt)" --rowSeparator "
|
$OPENREFINE_CLIENT -P {{.PORT}} --export --template "$(< ../../../rules/{{.PROJECT}}/template.txt)" --rowSeparator "
|
||||||
<!-- SPLIT -->
|
<!-- SPLIT -->
|
||||||
" --suffix "
|
" --suffix "
|
||||||
" --output wuppertal.txt $PROJECT
|
" --output {{.PROJECT}}.txt {{.PROJECT}}
|
||||||
# Statistik zu Laufzeit und Ressourcenverbrauch
|
- task: :openrefine-stop
|
||||||
- ps -o start,etime,%mem,%cpu,rss -p $(lsof -t -i:$PORT)
|
vars: {PROJECT: '{{.PROJECT}}', PORT: '{{.PORT}}'}
|
||||||
# OpenRefine beenden
|
|
||||||
- PID=$(lsof -t -i:$PORT); kill $PID; while ps -p $PID > /dev/null; do sleep 1; done
|
|
||||||
# OpenRefine-Projekt für Debugging archivieren
|
|
||||||
- tar cfz wuppertal.openrefine.tar.gz -C $(grep -l wuppertal *.project/metadata.json | cut -d '/' -f 1) .
|
|
||||||
# Temporäre Dateien löschen
|
|
||||||
- rm -rf ./*.project* && rm -f workspace.json
|
|
||||||
sources:
|
sources:
|
||||||
- ../harvest/wuppertal.xml
|
- ../harvest/{{.PROJECT}}.xml
|
||||||
- ../../../rules/wuppertal/*.json
|
- ../../../rules/{{.PROJECT}}/*.json
|
||||||
- ../../../rules/wuppertal/template.txt
|
- ../../../rules/{{.PROJECT}}/template.txt
|
||||||
#TODO - ../../../rules/common/*.json
|
#TODO - ../../../rules/common/*.json
|
||||||
generates:
|
generates:
|
||||||
- openrefine.log
|
- openrefine.log
|
||||||
- wuppertal.txt
|
- '{{.PROJECT}}.txt'
|
||||||
- wuppertal.openrefine.tar.gz
|
- '{{.PROJECT}}.openrefine.tar.gz'
|
||||||
|
|
||||||
linkcheck:
|
linkcheck:
|
||||||
desc: Elpub Wuppertal links überprüfen
|
desc: Elpub Wuppertal links überprüfen
|
||||||
|
Loading…
x
Reference in New Issue
Block a user