Datenkonvertierung
Dr. Jakob Voß
2014-04-07
Was ist Datenkonvertierung?
Überführung von Daten von einem Format in ein anderes Format
Was ist Datenkonvertierung?
Überführung von Daten von einem Format in ein anderes Format
- Überführung
- Konvertierung, Konversion, Transformation, Mapping…
- Daten
- Datensätze, digitale Objekte/Dokumente, Dateien…
- Format
- Datenstruktur, Dateiformat…
Quellformat → Konvertierung → Zielformat
Anwendungen für Normalnutzer
- Einfache Bild- u.Ä. Bearbeitungen von digitalen Dokumenten
- “Datei speichern unter…”
- Copy & Paste
- Automatisch bei Kopieren und Verschicken von Daten
Arten von Konvertierungen
- Verlustbehaftet (z.B. Farbbild in Graustufen)
- Verlustfrei (z.B. PNG nach TIFF)
Regelbasierte Überführung von Daten
Quellformat → Konvertierungsregeln → Zielformat
Warum regelbasiert?
Konvertierung (meist) für viele Datensätze
Ohne Regeln sind alles Einzelfälle
Allgemeine Be- oder Verarbeitungen statt Konvertierungen
Beispiel: Bildbearbeitung
- Regelbasiert
- Thumbnail erstellen
- Manuell
- Bildmotiv passend zuschneiden
Beispiel: Konvertierung in Großbuchstaben
- Einfache Regel
- Problemfälle
- Unklare Regeln
- Unvorhergesehene Quelldaten
Regelbasierte Überführung von Daten
- Eindeutige Regeln bilden einen Algorithmus
- semi-formal als Tabelle, Diagramm, Beschreibung…
- formal als Implementierung in einer Programmiersprache
- Eindeutige Konvertierungsvorschrift sind immer Programme!
Konvertierungs-programm, -skript, -mapping, -tabelle…
Algorithmen und Programme
- Gegenstand der Informatik
- Formuliert in einer Programmiersprache
- Können beliebig komplex sein
- Lassen sich nur schwer überprüfen
Programme zur Datenkonvertierung
- Oft weniger komplex (zumindest in Teilen)
- Weniger umfangreiche Programmierkenntnisse
- Nicht alle Datenkonvertierer sind Programmierer
- Aufteilung in Beschreibung und Implementierung
- Beschreibung und Implementierung weichen voneinander ab
- Regeln müssen angepasst, korrigiert, verändert werden
- Aufteilung in Programm und Konfiguration (DSL)
Beispiel: (Konkordanz-)Tabelle
Datum |
→ |
Date |
Autor |
→ |
Creator |
Übersetzung |
→ |
Contributor |
Illustrationen |
→ |
Contributor |
Beispiel: Ersetzungsregeln
- Nachname, Vorname → Vorname Nachname
- Sehr hilfreich: Reguläre Ausdrücke:
(.+), (.+)
⇒ $2 $1
Schwierigkeiten am Beispiel “Nachname, Vorname”
- “Otto”
- “Katharin die Große, Kaiserin von Russland”
- “Welikaja, Jekaterina (russ. Великая, Екатерина)”
- …
Technische Schwierigkeiten am Beispiel dieser Folien
datenkonvertierung.slides.md
(Markdown in Unicode)
→ LaTeX → datenkonvertierung.slides.pdf
(PDF)
Mappings vs. Konvertierungen
- Einfache Mappings
- Transformationen der Struktur
Datenverarbeitung durch Konvertierungen
Datenverarbeitung durch Aggregtion/Anreicherung
Konvertierungs- und Verarbeitungs-Pipelines
a & b -> ab -> AB -> BA …
Prinzip in Unix und anderen Systemen
Übung
Rekonstruktion einer Konvertierung
- Dokument → PICA-Format
- PICA → MARC-Format
- MARC → MODS-Format
- MODS → Dublin-Core
In Gruppen: * Titel * Contributor * Date * Subject
Aufbau von Daten
Werte & Struktur (mit unterschiedlichen Strukturierungsgraden)
siehe Einheit zu Digitalität
Eigenschaften von Konvertierungsregeln
- Konvertierung als Mathematische Funktion/Relation
- Ausgangsmenge → Zielmenge
Verschiedene Eigenschaften
- Deterministisch
- Links-Total (vollständig definiert)
- Rechts-total (surjektiv)
- eindeutig (injektiv)
- Umkehrbar (bijektiv)
Bestimmen, welche Informationen in Daten stecken können!
Qualitätskontrolle
- Sicherstellen, dass Konvertierung “richtig” ist
- Richtige Konvertierung nach bekannten Regeln
- Richtige Konvertierung nach Beispielen
Qualitätskontrolle
- Testfälle
- Eingabe → ? erwartete Ausgabe
- Fehlererkennung
- Eingabe → Ausgabe = ? erwartete Eigenschaften
Zusammenfassung
- Überall wo Daten verarbeitet werden, werden auch Daten konvertiert
- Datenkonvertierung ist meist etwas einfacher als Programmierung
- Ähnliche Möglichkeiten & Probleme
- Ohne Datenkonvertierung gibt es Mehraufwand & Inkonsistenzen