Digitale Bibliothek Jakob Voss Datenformate  und Standards Digitale Bibliothek WS 2007/2008 Fachhochschule Hannover Informationsmanagement (BA) 5. November 2007
Datenformate Abstraktes Datenmodell Konkrete Syntax oder Kodierung Verwendung eines Kodierungsverfahrens Beispiel: Namensliste an der Tafel ...
Datenformate Ein Datenformat definiert eine Struktur und legt darin Möglichkeiten für Inhalte fest Relevant: Syntax Irrelevant: Semantik und Pragmatik Letztendlich sind alles nur Daten Aber: Ein Format lebt von seiner Benutzung
Einheitlichkeit und Validierung Was nicht festgelegt ist, wird verschieden gehandhabt Was nicht überprüft werden kann, wird mißachtet oder ignoriert Was keine Auswirkungen hat ist irrelevant
Bibliothekarische Datenformate Bernhard Eversberg  (1989, 1994, 1999) : Was sind und was sollen Bibliothekarische Datenformate?  http://www.allegro-c.de/formate/  MARC, MAB, PICA, Allegro ... Insellösungen (eigener Zeichensatz, eigene Werkzeuge, eigene Sonderwege...) Heute : Unicode, XML, RDF, HTML ... Rein bibliothekarische Datenformate machen keinen Sinn mehr
Wie sind Datenformate? Unterscheidung notwendig Abstrakte Strukturierung Konkrete Kodierung Definiert durch Standards Leider oft Ausnahmen und Sonderwege Datenformate basieren aufeinander!
Beispiel: Stammbaum-Format Abstrakt Personen und Rollen: Vater, Mutter, Kind Relation: Nachkomme (Vater, Mutter, Kind)
Beispiel: Stammbaum-Format Abstrakt Personen und Rollen: Elter, Elter, Kind Relation: Nachkomme (Elter, Elter, Kind)
Visuelles Format
Prolog-Format kind( helios, klymene, aigle ) . kind( helios, klymene, phaetusa ) . kind( helios, klymene, lampetia ) . kind( helios, klymene, phaeton ) . geschwister( X, Y ) :- kind( A, B, X ), kind( A, B, Y ) .
GEDCOM-Format 0 @I1@ INDI 1 NAME Helios 1 FAMS @F1@ 0 @I2@ INDI 1 NAME Klymene 1 FAMS @F1@ 0 @F1@ FAM 1 CHIL @I3@  1 CHIL @I4@ 1 CHIL @I5@ 1 CHIL @I6@ 0 @I3@ INDI 1 NAME Aigle 1 FAMC @F1@ 0 @I4@ INDI 1 NAME Phaetusa 1 FAMC @F1@ 0 @I5@ INDI 1 NAME Lampetia 1 FAMC @F1@ 0 @I6@ INDI 1 NAME Phaeto 1 FAMC @F1@ GEnealogical Data COMmunication Format (entwickelt um die Toten zu Taufen ;-)
GEDCOM-XML-Format <?xml version=&quot;1.0&quot;?> <GEDCOM> <IndividualRec Id=&quot;I1&quot;> <IndivName>Helios</IndivName> </IndividualRec> ... <FamilyRec Id=&quot;F1&quot;> <HusbFath> <Link Target=&quot;IndividualRec&quot; Ref=&quot;I1&quot;/> </HusbFath> <WifeMoth> <Link Target=&quot;IndividualRec&quot; Ref=&quot;I2&quot;/> </WifeMoth> <Child>  <Link Target=&quot;IndividualRec&quot; Ref=&quot;I3&quot;/>  </Child> ...
Was sagt uns das? Es gibt viele Wege, die gleiche Information zu kodieren Unterschiedliche Formate und Kodierungen haben unterschiedliche Eigenheiten Einigung, Konvertierung oder Sprachverwirrung
Konkrete Kodierungsformen Feldbasierte Formate Datenbank-Format (SQL) XML JSON Microformats RDF (Semantic Web)
Feldbasierte Formate Einfach Titel : Zettelwirtschaft  Autor : Krajewski, Markus  Pica+ 021A : a : Zettelwirtschaft 028A : d : Markus a : Krajeski
Extensible Markup Language Auszeichnung mittels Tags <Überschrift> Einleitung </Überschrift> <hr />  =  <hr></hr> <a href= &quot;home.htm&quot;  class= &quot;mylink&quot; >  ... Hierarchische Struktur (XML-Baum) Character Entities & &amp;  <  &lt;  >  &gt;  &quot;  &quot;  '  &apos; &#xXX;   &#DDD;
JavaScriptObjectNotation (JSON) [  {  &quot;name&quot;  : &quot;Fritzchen&quot;, &quot;alter&quot; : 4 }, {  &quot;name&quot;  : &quot;Fritz&quot;, &quot;alter&quot; : 24 } ]
Mikroformate Formate zur semantischen Auszeichnung in HTML Ergänzung von (X)HTML durch vereinbarte class ,  rel  und  rev -Attribute Allgemeine Kodierungsmethode mit vielen konkreten Einzelformaten Community-Initiative unter microformats.org Akademische Alternative : RDFa
Beispiel: hCalendar <h2>Weihnachtsfeier</h2> <p> Am 19.12. findet im Neubau wieder unsere alljährliche Weihnachtsfeier statt. Bitte tragt euch ein auf der  <a href=&quot;http://company.de/xmas/&quot;>Infoseite</a>! </p>
Beispiel: hCalendar <div class=&quot;vevent&quot;> <h2  class=&quot;summary&quot; >Weihnachtsfeier</h2> <p> Am  <abbr class=&quot;dstart&quot; title=&quot;2007-12-19&quot;> 19.12. </abbr> findet im  <span class=&quot;location&quot;> Neubau </span> wieder unsere alljährliche Weihnachtsfeier statt. Bitte tragt euch ein auf der  <a href=&quot;http://company.de/xmas/&quot;  class=&quot;url&quot; >Infoseite</a>! </p> </div>
Beispiel: hCalendar <div class=&quot;vevent&quot;> <h2  class=&quot;summary&quot; >Weihnachtsfeier</h2> <p> Am  <abbr class=&quot;dstart&quot; title=&quot;2007-12-19&quot;> 19.12. </abbr> findet im  <span class=&quot;location&quot;> Neubau </span> wieder unsere alljährliche Weihnachtsfeier statt. Bitte tragt euch ein auf der  <a href=&quot;http://company.de/xmas/&quot;  class=&quot;url&quot; >Infoseite</a>! </p> </div> summary : Weihnachtsfeier dstart : 2007-12-19 url : http://company.de/xmas/  location : Neubau Datensatz
Konkrete Microformats Beispiele Veranstaltungen (hCalender) Kontakte (hCard) Bewertungen (hReview) ... Teilweise angelehnt an andere Standards (hCalendar/iCalender,  hCard/vCard...) Teilweise aufeinander aufbauend Einbettung in XHTML, ATOM, RSS...
Einfaches Kopieren von Datensätzen Firefox Operator-Plugin <span   class=&quot;vevent&quot;>  Auf der    <a  href=&quot;http://berlin.web2expo.com/&quot;  class=&quot;url summary&quot;> Web 2.0 Expo in Berlin </a>   (vom  <abbr   title=&quot;2007-11-05&quot; class=&quot;dtstart&quot;> 5. </abbr> bis zum  <abbr   title=&quot;2007-11-08&quot; class=&quot;dtend&quot;> 8. </abbr>  November)  </span> von http://notizblog.org/
Direkt in Firefox 3 und IE8 (?)
Brauchen wir noch Dateien? Datenformate und Dateiformate Containerformate, eingebettete Metadaten Vom Hierarchischen Dateisystem  zum Datenbank-Dateisystem  Desktopsuche Assoziative Sichten Drilldown
Standard-Mashups Standards basieren auf anderen Standards XML (W3C) basiert u.A. auf URI (RFC 2396), UTF-8 (RFC 2279), Sprachcodes (RFC 1766) basierend auf ISO 693 und ISO 3166 ... OpenDocument basiert auf XML, ZIP, etc. Deshalb: Alles muss  genau  definiert sein! Vorteil wie bei Mashups im Allgemeinen Rad nicht dauernd neu erfinden Nachnutzung bestehender Infrastruktur
Zeichen(de)kodierung Werden Daten in eine Struktur eingebettet, müssen in der Regel einige Sonderzeichen speziell kodiert werden XML :  & < ...  &amp; &lt; &lt; &#...; URL :  # + ... %23 %2B ... Mehrfachkodierung über mehrere Schichten Achtung : wenn die Kodierung und Ebenen unbekannt sind, kommt Zeichensalat heraus: &amp; &amp;amp; &amp;amp;amp; ...
Beispiel: OpenURL und COinS OpenURL basiert auf URL COinS basiert auf OpenURL  (http://ocoins.info/) Abstraktes Modell (siehe COinS generator)  Konkrete Kodierung: URL-Parameter-Kodierung + XML-Kodierung
Standards Was ist ein Standard? Was bewirken Standards? Wie entstehen Standards? Welche Standards gibt es?
z.B. DEHOMAG-Lochkarten Bild: www.jewishvirtuallibrary.org
Arten von Standards Norm Industriestandard De-Facto-Standard Offener Standard
Arten von Standards Internetstandards Request For Comments (RFC) der IETF Recommendations  des W3C Bibliothekarische Standards MARC, MAB, Z39.50, SRU, FRBR ...
Normierungsorganisationen Nationale Normen DIN, BSI, ANSI... Europäische Normen (EN) – seit 1961 CEN, CENELEC, ETSI ISO – seit 1947/1926 (Vorläufer ISI) Noch früher: MKS-System (1889) Konsens-Prinzip aller Beteiligten
Beispiel: DIN 1 Deutsche Institut für Normung e. V. 1918: Erste Norm (DIN 1): EN 22339 / ISO 2339 Kegelstifte für MG 08
Vor- und Nachteile von Normen Vorteile Qualität Sicherheit Nachteile Langwieriges Verfahren Kosten Alternative Bestätigung existierender Verfahren, zum Beispiel OpenDocument (ISO/IEC 26300)
Standards in Bibliotheken Melvil Dewey (1851-1931) DDC Karteikarten ALA u.v.a.m Markus Krajewski: Zettelwirtschaft : Die Geburt der Kartei aus dem Geiste der Bibliothek. Kulturverlag Kadmos, 2002
Schmutzige Tricks Standards zur Durchsetzung von Marktinteressen Microsoft OpenXML-Format Google OpenSocial API Monopole, Marktbehinderung, Startvorteile... Nicht offen diskutiert frei einsehbar nicht frei nutzbar
Schmutzige Tricks Erkennungszeichen Patente und andere rechtliche Einschränkungen Statt auf Etabliertes aufzubauen wird das Rad neu erfunden Andere Erklärung: Ignoranz oder Inkompetenz (trifft eher auf den Bibliotheksbereich zu) Alternative Freie Standards und Implementierungen (sic!)
Offene Standards Offene Organisationen (RFC , W3C) Anschließende Offenlegung  (z.B. SRU/SRW) Community-basiert (Microformats) Offene Standards => Freie Märkte
Bewertung Standards sind gemeinsame  Vereinbarungen zur Kommunikation Standards sind nur so gut wie die Verwendung Standards müssen offen und nutzbar sein Standards müssen überprüfbar sein Keep it simple and provide tools! Es ist notwendig genau hinschauen, was genau ein Standard vorschreibt und wo genau er eingesetzt wird

Datenformate und Standards

  • 1.
    Digitale Bibliothek JakobVoss Datenformate und Standards Digitale Bibliothek WS 2007/2008 Fachhochschule Hannover Informationsmanagement (BA) 5. November 2007
  • 2.
    Datenformate Abstraktes DatenmodellKonkrete Syntax oder Kodierung Verwendung eines Kodierungsverfahrens Beispiel: Namensliste an der Tafel ...
  • 3.
    Datenformate Ein Datenformatdefiniert eine Struktur und legt darin Möglichkeiten für Inhalte fest Relevant: Syntax Irrelevant: Semantik und Pragmatik Letztendlich sind alles nur Daten Aber: Ein Format lebt von seiner Benutzung
  • 4.
    Einheitlichkeit und ValidierungWas nicht festgelegt ist, wird verschieden gehandhabt Was nicht überprüft werden kann, wird mißachtet oder ignoriert Was keine Auswirkungen hat ist irrelevant
  • 5.
    Bibliothekarische Datenformate BernhardEversberg (1989, 1994, 1999) : Was sind und was sollen Bibliothekarische Datenformate? http://www.allegro-c.de/formate/ MARC, MAB, PICA, Allegro ... Insellösungen (eigener Zeichensatz, eigene Werkzeuge, eigene Sonderwege...) Heute : Unicode, XML, RDF, HTML ... Rein bibliothekarische Datenformate machen keinen Sinn mehr
  • 6.
    Wie sind Datenformate?Unterscheidung notwendig Abstrakte Strukturierung Konkrete Kodierung Definiert durch Standards Leider oft Ausnahmen und Sonderwege Datenformate basieren aufeinander!
  • 7.
    Beispiel: Stammbaum-Format AbstraktPersonen und Rollen: Vater, Mutter, Kind Relation: Nachkomme (Vater, Mutter, Kind)
  • 8.
    Beispiel: Stammbaum-Format AbstraktPersonen und Rollen: Elter, Elter, Kind Relation: Nachkomme (Elter, Elter, Kind)
  • 9.
  • 10.
    Prolog-Format kind( helios,klymene, aigle ) . kind( helios, klymene, phaetusa ) . kind( helios, klymene, lampetia ) . kind( helios, klymene, phaeton ) . geschwister( X, Y ) :- kind( A, B, X ), kind( A, B, Y ) .
  • 11.
    GEDCOM-Format 0 @I1@INDI 1 NAME Helios 1 FAMS @F1@ 0 @I2@ INDI 1 NAME Klymene 1 FAMS @F1@ 0 @F1@ FAM 1 CHIL @I3@ 1 CHIL @I4@ 1 CHIL @I5@ 1 CHIL @I6@ 0 @I3@ INDI 1 NAME Aigle 1 FAMC @F1@ 0 @I4@ INDI 1 NAME Phaetusa 1 FAMC @F1@ 0 @I5@ INDI 1 NAME Lampetia 1 FAMC @F1@ 0 @I6@ INDI 1 NAME Phaeto 1 FAMC @F1@ GEnealogical Data COMmunication Format (entwickelt um die Toten zu Taufen ;-)
  • 12.
    GEDCOM-XML-Format <?xml version=&quot;1.0&quot;?><GEDCOM> <IndividualRec Id=&quot;I1&quot;> <IndivName>Helios</IndivName> </IndividualRec> ... <FamilyRec Id=&quot;F1&quot;> <HusbFath> <Link Target=&quot;IndividualRec&quot; Ref=&quot;I1&quot;/> </HusbFath> <WifeMoth> <Link Target=&quot;IndividualRec&quot; Ref=&quot;I2&quot;/> </WifeMoth> <Child> <Link Target=&quot;IndividualRec&quot; Ref=&quot;I3&quot;/> </Child> ...
  • 13.
    Was sagt unsdas? Es gibt viele Wege, die gleiche Information zu kodieren Unterschiedliche Formate und Kodierungen haben unterschiedliche Eigenheiten Einigung, Konvertierung oder Sprachverwirrung
  • 14.
    Konkrete Kodierungsformen FeldbasierteFormate Datenbank-Format (SQL) XML JSON Microformats RDF (Semantic Web)
  • 15.
    Feldbasierte Formate EinfachTitel : Zettelwirtschaft Autor : Krajewski, Markus Pica+ 021A : a : Zettelwirtschaft 028A : d : Markus a : Krajeski
  • 16.
    Extensible Markup LanguageAuszeichnung mittels Tags <Überschrift> Einleitung </Überschrift> <hr /> = <hr></hr> <a href= &quot;home.htm&quot; class= &quot;mylink&quot; > ... Hierarchische Struktur (XML-Baum) Character Entities & &amp; < &lt; > &gt; &quot; &quot; ' &apos; &#xXX; &#DDD;
  • 17.
    JavaScriptObjectNotation (JSON) [ { &quot;name&quot; : &quot;Fritzchen&quot;, &quot;alter&quot; : 4 }, { &quot;name&quot; : &quot;Fritz&quot;, &quot;alter&quot; : 24 } ]
  • 18.
    Mikroformate Formate zursemantischen Auszeichnung in HTML Ergänzung von (X)HTML durch vereinbarte class , rel und rev -Attribute Allgemeine Kodierungsmethode mit vielen konkreten Einzelformaten Community-Initiative unter microformats.org Akademische Alternative : RDFa
  • 19.
    Beispiel: hCalendar <h2>Weihnachtsfeier</h2><p> Am 19.12. findet im Neubau wieder unsere alljährliche Weihnachtsfeier statt. Bitte tragt euch ein auf der <a href=&quot;http://company.de/xmas/&quot;>Infoseite</a>! </p>
  • 20.
    Beispiel: hCalendar <divclass=&quot;vevent&quot;> <h2 class=&quot;summary&quot; >Weihnachtsfeier</h2> <p> Am <abbr class=&quot;dstart&quot; title=&quot;2007-12-19&quot;> 19.12. </abbr> findet im <span class=&quot;location&quot;> Neubau </span> wieder unsere alljährliche Weihnachtsfeier statt. Bitte tragt euch ein auf der <a href=&quot;http://company.de/xmas/&quot; class=&quot;url&quot; >Infoseite</a>! </p> </div>
  • 21.
    Beispiel: hCalendar <divclass=&quot;vevent&quot;> <h2 class=&quot;summary&quot; >Weihnachtsfeier</h2> <p> Am <abbr class=&quot;dstart&quot; title=&quot;2007-12-19&quot;> 19.12. </abbr> findet im <span class=&quot;location&quot;> Neubau </span> wieder unsere alljährliche Weihnachtsfeier statt. Bitte tragt euch ein auf der <a href=&quot;http://company.de/xmas/&quot; class=&quot;url&quot; >Infoseite</a>! </p> </div> summary : Weihnachtsfeier dstart : 2007-12-19 url : http://company.de/xmas/ location : Neubau Datensatz
  • 22.
    Konkrete Microformats BeispieleVeranstaltungen (hCalender) Kontakte (hCard) Bewertungen (hReview) ... Teilweise angelehnt an andere Standards (hCalendar/iCalender, hCard/vCard...) Teilweise aufeinander aufbauend Einbettung in XHTML, ATOM, RSS...
  • 23.
    Einfaches Kopieren vonDatensätzen Firefox Operator-Plugin <span class=&quot;vevent&quot;> Auf der <a href=&quot;http://berlin.web2expo.com/&quot; class=&quot;url summary&quot;> Web 2.0 Expo in Berlin </a> (vom <abbr title=&quot;2007-11-05&quot; class=&quot;dtstart&quot;> 5. </abbr> bis zum <abbr title=&quot;2007-11-08&quot; class=&quot;dtend&quot;> 8. </abbr> November) </span> von http://notizblog.org/
  • 24.
    Direkt in Firefox3 und IE8 (?)
  • 25.
    Brauchen wir nochDateien? Datenformate und Dateiformate Containerformate, eingebettete Metadaten Vom Hierarchischen Dateisystem zum Datenbank-Dateisystem Desktopsuche Assoziative Sichten Drilldown
  • 26.
    Standard-Mashups Standards basierenauf anderen Standards XML (W3C) basiert u.A. auf URI (RFC 2396), UTF-8 (RFC 2279), Sprachcodes (RFC 1766) basierend auf ISO 693 und ISO 3166 ... OpenDocument basiert auf XML, ZIP, etc. Deshalb: Alles muss genau definiert sein! Vorteil wie bei Mashups im Allgemeinen Rad nicht dauernd neu erfinden Nachnutzung bestehender Infrastruktur
  • 27.
    Zeichen(de)kodierung Werden Datenin eine Struktur eingebettet, müssen in der Regel einige Sonderzeichen speziell kodiert werden XML : & < ... &amp; &lt; &lt; &#...; URL : # + ... %23 %2B ... Mehrfachkodierung über mehrere Schichten Achtung : wenn die Kodierung und Ebenen unbekannt sind, kommt Zeichensalat heraus: &amp; &amp;amp; &amp;amp;amp; ...
  • 28.
    Beispiel: OpenURL undCOinS OpenURL basiert auf URL COinS basiert auf OpenURL (http://ocoins.info/) Abstraktes Modell (siehe COinS generator) Konkrete Kodierung: URL-Parameter-Kodierung + XML-Kodierung
  • 29.
    Standards Was istein Standard? Was bewirken Standards? Wie entstehen Standards? Welche Standards gibt es?
  • 30.
    z.B. DEHOMAG-Lochkarten Bild:www.jewishvirtuallibrary.org
  • 31.
    Arten von StandardsNorm Industriestandard De-Facto-Standard Offener Standard
  • 32.
    Arten von StandardsInternetstandards Request For Comments (RFC) der IETF Recommendations des W3C Bibliothekarische Standards MARC, MAB, Z39.50, SRU, FRBR ...
  • 33.
    Normierungsorganisationen Nationale NormenDIN, BSI, ANSI... Europäische Normen (EN) – seit 1961 CEN, CENELEC, ETSI ISO – seit 1947/1926 (Vorläufer ISI) Noch früher: MKS-System (1889) Konsens-Prinzip aller Beteiligten
  • 34.
    Beispiel: DIN 1Deutsche Institut für Normung e. V. 1918: Erste Norm (DIN 1): EN 22339 / ISO 2339 Kegelstifte für MG 08
  • 35.
    Vor- und Nachteilevon Normen Vorteile Qualität Sicherheit Nachteile Langwieriges Verfahren Kosten Alternative Bestätigung existierender Verfahren, zum Beispiel OpenDocument (ISO/IEC 26300)
  • 36.
    Standards in BibliothekenMelvil Dewey (1851-1931) DDC Karteikarten ALA u.v.a.m Markus Krajewski: Zettelwirtschaft : Die Geburt der Kartei aus dem Geiste der Bibliothek. Kulturverlag Kadmos, 2002
  • 37.
    Schmutzige Tricks Standardszur Durchsetzung von Marktinteressen Microsoft OpenXML-Format Google OpenSocial API Monopole, Marktbehinderung, Startvorteile... Nicht offen diskutiert frei einsehbar nicht frei nutzbar
  • 38.
    Schmutzige Tricks ErkennungszeichenPatente und andere rechtliche Einschränkungen Statt auf Etabliertes aufzubauen wird das Rad neu erfunden Andere Erklärung: Ignoranz oder Inkompetenz (trifft eher auf den Bibliotheksbereich zu) Alternative Freie Standards und Implementierungen (sic!)
  • 39.
    Offene Standards OffeneOrganisationen (RFC , W3C) Anschließende Offenlegung (z.B. SRU/SRW) Community-basiert (Microformats) Offene Standards => Freie Märkte
  • 40.
    Bewertung Standards sindgemeinsame Vereinbarungen zur Kommunikation Standards sind nur so gut wie die Verwendung Standards müssen offen und nutzbar sein Standards müssen überprüfbar sein Keep it simple and provide tools! Es ist notwendig genau hinschauen, was genau ein Standard vorschreibt und wo genau er eingesetzt wird