Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
105 lines (69 sloc) 2.47 KB

Harvesting von OAI-Metadaten mit Catmandu

Was ist Catmandu?

Catmandu - the data processing toolkit

"Catmandu is a command line tool to access and convert data from your digital library, research services or any other open data sets."

Siehe http://librecat.org/ für mehr Infos.

Grundbegriffe OAI-Abfragen mit Catmandu

Zeige Information zum Repository: identify

$ catmandu convert OAI --url https://pub.uni-bielefeld.de/oai --identify 1 to YAML

Zeige vorhanden Formate: listMetadataFormats

$ catmandu convert OAI --url https://pub.uni-bielefeld.de/oai --listMetadataFormats 1 to YAML

Zeige Identifier: listIdentifiers

$ catmandu convert OAI --url https://pub.uni-bielefeld.de/oai --listIdentifiers 1 to YAML

Zeige vorhandene Sets: listSets

$ catmandu convert OAI --url https://pub.uni-bielefeld.de/oai --listSets 1 to YAML

Harvesting von Daten: listRecords

$ catmandu convert OAI --url https://pub.uni-bielefeld.de/oai to YAML

Achtung: Dieser Befehl harvestet alle Records des Repositories! Dies kann einige Minuten in Anspruch nehmen (ca. 6 min. bei PUB).

a. In anderen Formaten

$ catmandu convert OAI --url https://pub.uni-bielefeld.de/oai --metadataPrefix rdf --handler raw to YAML

b. Einen einzigen Datensatz

$ catmandu convert OAI --url https://pub.uni-bielefeld.de/oai --getRecord 1 --identifier oai:pub.uni-bielefeld.de:1634091 to YAML

c. Aktuelle Open-Access-Publikationen

$ catmandu convert OAI --url https://pub.uni-bielefeld.de/oai     
  --listRecords 1 \
  --set open_access --from 2018-10-01 to YAML \
  --fix "reject any_match(_status, deleted)" to YAML

Datenanalyse

Gesamtübersicht über die Werteverteilung

Zuerst werden die Daten in ein Breaker-Format, transformiert:

$ catmandu convert YAML to Breaker <data/openaccess.yml >data/openaccess.breaker

Danach kommt die statistische Analyse:

$ catmandu breaker daten/openaccess.breaker

Analyse einzelner Felder

a. Werte von dc:rights

$ catmandu convert YAML to CSV \
  --fix "move(rights.0, r); retain(r)" \
  < data/all.yml | sort | uniq

b. Werte von dc:language

$ catmandu convert YAML to CSV \
  --fix "move(language.0, l); retain(l)" \
  < data/all.yml | sort | uniq

Weiterführende Informationen

You can’t perform that action at this time.