opencultureconsulting / noah

Harvesting von OAI-PMH-Schnittstellen und Transformation in METS/MODS für das Portal noah.nrw
MIT License
1 stars 0 forks source link

Weitere Variablen nutzen, damit diff zwischen zwei Datenquellen möglichst aussagekräftig wird #20

Closed felixlohmeier closed 3 years ago

felixlohmeier commented 3 years ago
felixlohmeier commented 3 years ago

Ergebnis sieht jetzt aussagekräftig aus:

[felix@tux noah]$ diff tasks/wuppertal.yml tasks/siegen.yml
7c7
<     desc: Elpub Wuppertal
---
>     desc: OPUS Siegen
9,10c9,10
<       PROJECT: wuppertal
<       MINIMUM: 1300 # Mindestanzahl der zu erwartenden Datensätze
---
>       PROJECT: siegen
>       MINIMUM: 1250 # Mindestanzahl der zu erwartenden Datensätze
29,31c29,31
<       URL: http://elpub.bib.uni-wuppertal.de/servlets/OAIDataProvider
<       FORMAT: oai_dc
<       PROJECT: wuppertal
---
>       URL: https://dspace.ub.uni-siegen.de/oai/request
>       FORMAT: xMetaDissPlus
>       PROJECT: siegen
40c40
<       PORT: 3335
---
>       PORT: 3334
42c42
<       PROJECT: wuppertal
---
>       PROJECT: siegen
50,72c50,64
<       # 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/{{.PROJECT}}/html.json {{.PROJECT}}
<       # DDC einheitlich auf drei Ziffern vereinheitlichen (betrifft dc:subjects und oai:setSpec)
<       - $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/ddc.json {{.PROJECT}}
<       # dc:publisher setzen
<       - $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/publisher.json {{.PROJECT}}
<       # URNs, DOIs und PDF-Links aus dc:identifier extrahieren
<       - $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
<       - $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/nbn.json {{.PROJECT}}
<       # Aufteilung dc:subject in ioo und topic
<       - $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/subjects.json {{.PROJECT}}
<       # Standardisierte Rechteangaben Teil 1 (Links zu CC-Lizenzen)
<       - $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/rights.json {{.PROJECT}}
<       # Datenstruktur für Templating vorbereiten: Pro Zeile ein Datensatz und leere Zeilen löschen
<       - $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/join.json {{.PROJECT}}
<       # Zusammenführung gleichsprachiger Titelangaben zu Title/Subtitle
<       - $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)
<       - $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/language.json {{.PROJECT}}
<       # Standardisierte Rechteangaben Teil 2 (Canonical Name für CC-Lizenzen)
<       - $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/rights-cc.json {{.PROJECT}}
<       # Anreicherung HT-Nummer via lobid-resources
---
>       # URNs extrahieren: Dubletten entfernen und verschiedene URNs zusammenführen
>       - $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
>       - $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/direktlinks.json {{.PROJECT}}
>       # Datensätze ohne Direktlink auf ein PDF löschen
>       - $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/nur-mit-pdf.json {{.PROJECT}}
>       # Aufteilung dc:subject in ddc und topic
>       - $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/ddc-topic.json {{.PROJECT}}
>       # Standardisierte Rechteangaben (Canonical Name aus CC Links in dc:rights)
>       - $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
>       - $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
>       - $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
75a68,73
>       # DINI Publikationstypen aus dc:type extrahieren
>       - $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/dini.json {{.PROJECT}}
>       # Visual Library doctype aus dc:type: Wenn thesis:level == thesis.habilitation dann doctype oaHabil
>       - $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/doctype.json {{.PROJECT}}
>       # Datenstruktur für Templating vorbereiten: Pro Zeile ein Datensatz und leere Zeilen löschen
>       - $OPENREFINE_CLIENT -P {{.PORT}} --apply ../../../rules/{{.PROJECT}}/join.json {{.PROJECT}}
95c93
<     desc: Elpub Wuppertal links überprüfen
---
>     desc: OPUS Siegen links überprüfen
98c96
<         vars: {PROJECT: "wuppertal"}
---
>         vars: {PROJECT: "siegen"}
101c99
<     desc: Elpub Wuppertal cache löschen
---
>     desc: OPUS Siegen cache löschen
104c102
<         vars: {PROJECT: "wuppertal"}
---
>         vars: {PROJECT: "siegen"}

Somit lassen sich auch leichter weitere Datenquellen konfigurieren.