\LARGE Fähigkeit unterschiedlicher Systeme, möglichst reibungslos zusammenzuarbeiten
\normalsize \vfill
-
Zusammenarbeiten: sinnvoller Austausch von Daten
-
Möglichst reibungslos: so gut es eben geht
Beispiel : Gemeinsamer Verbundkatalog
Vorteil : Klare Verantwortlichkeit
Probleme : Abgeschlossene Datensilos, interne Inkonsistenzen
Beispiel : Aggregator-Formate (Schema.org, DataCite XML...)
Vorteil : Offen für beliebig viele Akteure
Problem
: Verschiedene Standards
für verschiedene Anwendungen
Beispiel
: Konvertierung beim Import/Export von Formaten,
Vokabular-Mapping im Projekt coli-conc
Vorteil : Sehr flexibel
Problem : Aufwändig und fehleranfällig
A) Zentralisierung:
Wir kaufen einfach alles nur von LEGO!
B) Standards:
LEGO, Q-Bricks, BlueBrixx... passt doch zusammen!
C) Mapping:
Adapter wie das Free Universal Construction Kit
\vfill
Meist wackelt es trotzdem ein bisschen...
Wau Holland (1951-2001):
Der Computer ist eine Maschine zum Kopieren und Verändern von Bits.
\vfill
- Daten lassen sich verlustfrei kopieren und ändern
- Automatisierung: einmal, zweimal,
$\infty$ ... - Es gibt keine natürlichen Daten-Einheiten
(Datensätze, Felder, Sammlungen...)
Welche Strategie wird in der Praxis angewandt?
A) Zentralisierung:
Keine Gesamtlösung aber hilfreich zur Abgrenzung von Systemen
B) Standards:
Grundlage der gesamten Infrastruktur
C) Mapping:
Findet als Konvertierung an vielen Stellen statt
-
Interoperabilität ist die Fähigkeit unterschiedlicher Systeme, reibungslos Daten auszutauschen
-
Informationssysteme sind quasi-geschlossene Einheiten, die standardisierte Daten austauscht
-
Datenkonvertierung zwischen unterschiedlichen Standards
\vfill Problem gelöst?
Probleme:
-
Es gibt sehr viele Standards und Informationssysteme
-
Standards sind meist unvollständig
-
Mappings/Konvertierungen sind meist unvollständig
Lösung:
-
Kenntnis von Metadaten-Standards und Mapping-Verfahren
-
Interoperabilität muss immer wieder neu hergestellt werden
-
Vereinbarungen wie Daten aussehen sollen
-
Explizite Vereinbarungen wie Daten aussehen sollen
- Publiziert und verständlich, mit Beispielen
- Versioniert (was ist seit wann wie geregelt?)
- Maschinenlesbar
-
Aufbauend auf bereits etablierten Standards
- Anwendungsbezogen
- Möglichst in verschiedenen Systemen umgesetzt
-
Überprüfbar
- Validierung von Daten (Fehler erkennen)
- Konsequente (mit Fehlern umgehen)
- Fehler
$\neq$ Fehler
- Hinter Daten steht immer (implizit oder explizit) mindestens ein Modell
- Interoperabilität erfordert vor allem gleiche Modelle
- Datenformate bewegen sich zwischen Modell und Implementierung
- Auf jeder Ebene weitere Unterteilung möglich
- Lokale Anwendungspraxis einer Bibliothek
- PICA-K10plus-Format
- PICA-Format
- PICA/XML
- XML
- Unicode
- Bytes
- Spezifikation (so soll es sein)
- Implementierung (so ist es umgesetzt)
- Datenpraxis (so wird es interpretiert)
Offizielle Standards, De-Facto Standards, Implizite Standards, scheinbare Standards, Anwendungsprofile...
-
Implementierung und Datenpraxis: konkret ansehen
-
Spezifikationen:
-
Semi-formale Beschreibung: verstehbar
-
Formale Schemas: maschinenlesbar und überprüfbar
-
Implementierung: year = int(input.readline())
Datenpraxis: 2019, 1988, 722, 23...
Semi-Formal:
Jahreszahlen werden durch eine bis vier Ziffern ohne fühende Nullen ausgedrückt
Formal: YEAR := [1-9][0-9]*
\vfill \small Überraschung: keines dieser Beispiele ist 100% deckungsgleich!
-
Strukturierungssprachen:
CSV, JSON, RDF... -
Schemasprachen:
Reguläre Ausdrücke, XSD, JSON Schema... -
Abfragesprachen:
SQL, XPath, XQuery, CSS Selector... -
Datenmodelle:
BIBFRAME, CIDOC-CRM, Dublin Core...
Was muss interoperabel sein?
-
Datenmodelle: Semantik (theoretisch interoperabel)
-
Strukturierungssprache: Werkzeuge (praktisch umsetzbar)
Wie wird Interoperabilität umgesetzt?
-
Schemas helfen passende Elemente zu finden
(z.B. Feld für Jahreszahl) -
Abfragesprache helfen auf passende Elemente zu verweisen
Name Lebensdaten
Douglas Noël Adams 1952-2001
Erkennen Sie Modell und Schema?
name,dates
Douglas Noël Adams,1952-2001
name: Douglas Noël Adams
dates: 1952-2001
{
"name": "Douglas Noël Adams",
"dates": "1952-2001"
}
<name>Douglas Noël Adams</name>
<dates>1952-2001</dates>
...
Konvertierung zwischen Formaten
-
DD.MM.YYYY
$\leftrightarrow$ YYYY-MM-DD
- "Nachname, Vorname"
$\rightarrow$ "Vorname Nachname" - ...
Mapping zwischen Vokabularen
- GND-ID
$\leftrightarrow$ ORCID - RVK
$\leftrightarrow$ BK - ...
-
Muss meist programmiert werden
-
Je nach Überschneidung des Datenmodells
mehr oder weniger vollständig -
Mit jeder Konvertierung können Inhalte verloren gehen
-
Mapping von Identifiern statt Benennungen
-
Einfach wenn 1-zu-1 Zuordnung möglich (z.B. Personen)
-
Bei Sachgebieten schwieriger (Mapping von Datenmodellen)
\vfill
Mapping-Tool Cocoda bitte ausprobieren: https://coli-conc.gbv.de/cocoda/!
-
Metadaten-Interoperabilität: Datenaustausch zwischen unterschiedlichen Systemen
-
Strategien: Zentralisierung, Standards, Mapping
-
Daten folgend (hoffentlich) immer irgendwelchen Regeln
- Anforderungen an gute Standards
- Standards durch Spezifikation, Implementierung, Datenpraxis
-
Kenntnis von Metadaten-Standards und Mapping-Verfahren!
-
Grundlagen Datenformate im Handbuch
Einführung in die Verarbeitung von PICA-Daten -
Anleitung für schlechte Standards https://doi.org/10.5281/zenodo.1025743 und https://youtu.be/o51FOLsh4Ec
Niemand kann alles auf Anhieb verstehen.
Was haben Sie am meisten nicht verstanden?