Datenformate und Standards

Dr. Jakob Voß

2014-05-05

Übersicht

Verwandte Themen dieser Lehrveranstaltung

Was ist Digitalität?

Daten basieren auf Datenmodellierung

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…

Regelbasierte Überführung von Daten

Quellformat  →  Konvertierung  →  Zielformat

Beispiel: Ersetzungsregeln zur Datenkonvertierung

Was sind an diesem Beispiel die Formate?

Wie könnten diese Formate als Standard definiert werden?

Identifier-Systeme

In Datenformaten an verschiedenen Stellen relevant, z.B. als Index, (Feld)name oder Pfad.

Was ist Digitalisierung?

Überführung von analogen Signalen (Zeit, Lautstärke, Farbe, Größe…) in digital kodierte Werte.

Bestandteile von Daten bzw. digitalen Kodierungen

Quantisierung
Begrenzte Menge zulässiger Werte
(z.B. Rot, Grün- und Blauanteil je 0 bis 255)
Datenformate
Definierte Strukturen
(z.B. Felder, Dimensionen, Ordnungsmethoden, Muster…)

Allgemeine Datenstrukturierungsprachen

  1. Zeichenketten (Strings)
  2. Comma Separated Values (CSV)
  3. JavaScript Object Notation (JSON)
  4. Extensible Markup Language (XML)
  5. Resource Description Framework (RDF)

Verwandte Systeme (hier aber ausgelassen):

DSS 1/5: Zeichenketten

Kodierung von Zeichenketten

Beispiel: Zeichenketten in Anführungszeichen ("Hallo")

Was wenn die Zeichenkette Anführungszeichen enthält?

Typisches Verfahren: Escape-Sequenzen

2/5: Comma Separated Values (CSV)

3/5: JavaScript Object Notation (JSON)

Bestandteile von JSON

JSON-Syntax als Diagram (Ausschnitt)

JSON-Syntax

4/5 Extensible Markup Language (XML)

XML-Syntax

Beispiel: Beliebige XHTML-Seite

5/5 Resource Description Framework (RDF)

Siehe Einheit zu Semantic Web und Linked Open Data am 14.4.2014

Grundsätzliche Strukturen

Allgemeinen Datenstrukturierungsprachen basieren im Wesentlichen auf allgemeinen Strukturierungsmustern.

Listen
Strings
Tabellen
CSV
Hierarchien/Bäume
JSON, XML
Zuordnungen/Identifier
JSON-Objekte, XML-Attribute
Graphen
RDF

Weitere Strukturierungsmuster existieren auch in allen anderen Datenstrukturen und -Formaten.

Konvertierung allgemeiner Strukturierungssprachen

Beispiel: CSV nach JSON oder XML
https://shancarter.github.io/mr-data-converter/

Konkrete Daten- und Dateiformate

Was ist Beispiel, was gehört zum Format?

JSON-Beispiel: Tweet

{
  "text": "Old librarians like books. New librarians like data. Good librarians like people.",
  "id": "438186931139383296",
  "retweet_count": "117",
  "favourites_count": "73",
  "source": "web",
  "user": {
    "name": "nichtich",
    "location": "Nauru"
  }
}

Beispiele für XML

Beispiele für RDF

Beispiel für Format mit eigener Strukturierung: BibTeX

@misc{voss2014librarians,
  author = {Voß, Jakob},
  title  = {Old librarians like books. 
            New librarians like data. 
            Good librarians like people.}
  booktitle = {Twitter},
  year   = {2014},
  day    = {28},
  month  = {2},
  url = {https://twitter.com/nichtich/status/438186931139383296}
}

Standards und Schemata

Anforderungen an Standards für Datenformate

Negativbeispiel u.A. Office Open XML (ISO/IEC 29500) mit 6000 Seiten

Bestandteile einer Spezifikation

Beispiel: Spezifikation von JSON als RFC

http://rfc7159.net/rfc7159

Beispiel: JSON-Spezifikation

Object := "{" ( Pair ( "," Pair )* )? "}"
Pair   := Space* Key Space* ":" Space* Value
Space  := #x20 | #x09 | #x0A | #x0D

Beispiel: Open Search Suggestions

HTML  →  OSD-XML  →  Suggestions-JSON

Zusammenfassung