Skip to content

Latest commit

 

History

History
278 lines (181 loc) · 6.59 KB

slides.md

File metadata and controls

278 lines (181 loc) · 6.59 KB

Bibliotheksdaten {background-image=img/cataloging.jpg}

Bibliotheksdaten {background-image=img/cataloging.jpg}

  • Grundsätzlich nicht anders als andere Daten

  • Bibliotheksspezifische Metadatenformate
    (MARC21, MAB2, PICA, ASEQ, METS/MODS, ONIX...)

  • Außerhalb von Bibliotheken irrelevant
    $\Rightarrow$ wenig Support allgemeiner Datenwerkzeuge

  • Datenformate altern langsamer als Software

Neue Anforderungen an Bibliotheksdaten {background-image=img/cataloging.jpg}

  • (Linked) Open Data: Verknüpfung mit anderen Daten

  • Data Science, Visualisierung, Machine-Learning...

Wie mit Bibliotheksdaten umgehen?

Werkzeuge {background-image=img/tools.jpg}

Werkzeuge für Bibliotheksdaten {background-image=img/tools.jpg}

  1. Allgemeine Datenwerkzeuge (z.B. Excel, OpenRefine)

  2. Freie Werkzeuge für bibliothekarische Datenformate

    • Programmierbibliotheken

    • Anwendungsprogramme

  3. Interne Werkzeuge (WinIBW, FALCON, BibControl...)

Allgemeine Datenwerkzeuge {background-image=img/tools.jpg}

Data Science Werkzeugkasten

  • Interaktive Notebooks (Jupyter, Observable...)

  • Kommandozeile (grep, head, sort...)

  • OpenRefine

  • GitHub/GitLab

  • ...

Freie Werkzeuge für Bibliotheksdaten {background-image=img/tools.jpg}

Beispiele

Arbeiten auf der Kommandozeile

  • Programme auf der Kommandozeile folgen im Allgemeinen dem EVA-Prinzip

 {width=80% margin=auto}

Verkettung von Programmen durch Pipes

  • Programme können durch Pipes "|" miteinander verkettet werden

 {width=70% margin=auto}

$ cat FILE | head -5 | shuf

Vorteile

  • Integration in Data Science Workflows
    (Skripte, Makefiles, Cron-Jobs, Versionskontrolle)

  • Es stehen eine große Anzahl an Standardwerkzeugen zur Verfügung (head, grep)

  • Umfangreiches Literatur- und Fortbildungsangebot

Zählen von PICA-Datensätzen

$ wc -l DUMP.dat
1000

$ picadata -f plus DUMP.dat
1000 records
36111 fields

$ pica count DUMP.dat
1000 records
36111 fields
83814 subfields

Filtern von PICA-Datensätzen

$ pica filter -s \
    "[email protected] =^ 'Tp' && 028A.a == 'Goethe'" \
    | pica count --records
14

$ pica filter -s "[email protected] =^ 'Tp' && 028A.a == 'Goethe'" \
    | picadata -2 -f plain -t json "028A"
[["028A","","d","Friedrich","a","Goethe"]]
[["028A","","d","August","c","von","a","Goethe"]]

Tabellieren von Daten

$ pica filter -s
    "[email protected] =^ 'Tp' && 028A.a == 'Goethe'" GND.dat \
    | pica select "[email protected], 028A{a, d}"
117749346,Goethe,Friedrich
11854022X,Goethe,August
118540246,Goethe,Katharina Elisabeth
118628011,Goethe,Christiane
...

Häufigkeitsverteilung eines Unterfelds

$ pica filter -s "[email protected] =^ 'Tg'" GND.dat \
    | pica frequency -l 3 -H "code,count" "042B.a"
code,count
XA-IT,30149
XA-DE-BY,26694
XA-FR,17452

Abfrage per SRU-API

$ catmandu convert SRU \
    --base http://sru.k10plus.de/opac-de-627 \
    --recordSchema picaxml \
    --parser picaxml \
    --query pica.sgd=590 \
    to PICA --type plain

Zwischenfazit

  • Werkzeuge lassen sich miteinander kombinieren
    $\Rightarrow$ Stärken der verschiedenen Tools ergänzen sich
  • Erzeugen von Standardformaten (CSV, JSON)
    $\Rightarrow$ Programmiersprachen und -bibliotheken nutzen
    $\Rightarrow$ Nutzen von allgemeinen Datenwerkzeuge

Demo: GND-Dashboard

  • Statistische Auswertungen (Datenbasis PICA+)
  • Selektion und Transformation der Daten mit pica-rs
  • Datenaufbereitung und Visualisierung mit Python

Filtern des Gesamtabzugs

  • Gesamtabzug der DNB ist ca. 44GB groß
    $\Rightarrow$ Titeldaten (title.dat): 38GB
    $\Rightarrow$ Normdaten (gnd.dat): 5.5GB
$ pica filter -s "[email protected] =^ 'T' && [email protected]?" DUMP.dat \
    -o gnd.dat

$ pica filter -s --invert-match "[email protected] =^ 'T'" DUMP.dat \
    -o title.dat

GND-Entitäten gesamt

 {width=70% margin=right}

$ pica count --records gnd.dat
9.105.935

Entitäten und Katalogisierungslevel

 {width=70% margin=right}

$ pica frequency --limit 3 "[email protected]" gnd.dat
Tp3,3288170
Tp1,1197189
Tb1,1116481

GND-Systematik

 {width=70% margin=right}

$ pica frequency --limit 3 "042A.a" gnd.dat
15.3p,186402
13.4p,129972
14.1,126224

GND-Systematik (nur Ts)

 {width=70% margin=right}

$ pica filter "[email protected] =^ 'Ts'" gnd.dat \
    | pica frequency "042A.a"
22.5,10146
30m,9029
12.4,7671

Ausblick {background-image=img/ephesus-library.jpg}

Interoperabilität und Standards {background-image=img/ephesus-library.jpg}

  • Werkzeuge sollten sich kombinieren lassen

  • Gemeinsame Sprachen (PICA Path, Fix, Avram...)

  • Standardformate

Herausforderungen {background-image=img/ephesus-library.jpg}

  • Dokumentation, Fortbildung, Einarbeitung

  • Softwareentwicklung ist Daueraufgabe

  • Entwicklung hängt oft an einzelnen Personen
    (Beispiel: MarcEdit, zumal nur Freeware)

  • Projektgetriebene Entwicklung selten nachhaltig
    (Beispiel: d:swarm)

Weiterführende Resourcen {background-image=img/ephesus-library.jpg}

Bildquellen

Von Wikimedia Commons

Guter Rat zum Schluss {background-image=img/tools.jpg}

  • Datenverarbeitung ist keine Wissenschaft sondern Handwerk!

  • Übung macht die Meister*in!