Digitale Bibliothek Jakob Voß Datenformate und Standards Digitale Bibliothek WS 2008/2009 Fachhochschule Hannover Informationsmanagement (BA) TAG. MONAT 2008
Nochmal Organisatorisches
Semesterplan 29.09.08 - Einführung 06.10.08 -  Datenformate und Standards 13.10.08 - Schnittstellen und Webservices 20.10.08 - Semantic Web und Wissensorganisation 27.10.08 - Communities und Soziale Netzwerke 03.11.08 - Weblogs, Feeds und Syndication 10.11.08 - Formen und Bestandteile Digitaler Bibliotheken 17.11.08 - Empfehlungsdienste und Data-Mining 24.11.08 - Datenkonvertierung und Mapping 01.12.08 - Mashups und Automatisierung 08.12.08 - Digitalisierung und Langzeitarchivierung 15.12.08 - Social Tagging und Indexierung 22.12.08 - Nutzer, Autoren und Werke im digitalen Raum 05.01.09 - Zusammenfassung und Ausblick mit Kurzvorträgen zusammen Achtung, Gruppenwechsel!
Termine für die Kurzvorträge 27.10.08 – Privacy, OpenID 03.11.08 – ATOM, Lizenzmodelle, Weblogs 10.11.08 – Repositories, Föderation 17.11.08 – Kataloganreicherung, Fernseharchive 24.11.08 – Hochschulbibliographien, BibTeX 01.12.08 – OpenStreetmap, Geodaten 08.12.08 – Netzkunst, Internet Archive 15.12.08 – Semantic Tagging, LibraryThing 22.12.08 – Open Library, Kommentarfunktionen
Hinweise zur Recherche Wissenschaftsportal b2i (Metasuche) Fachzeitschriften und Konferenzen Blogsuche Link- und Literaturlisten Nachfragen (Mailinglisten, Experten,  Bibliothekar etc.) Hinweise im Moodle-Wiki lesen, ggf. fragen Ergebnisse erschließen bei BibSonomy
Übung zur Datenerfassung
Verarbeitung Format:  [fhhdb08]  und  G,T1,T2,T3,T4,K #!/usr/bin/perl open AUFGABEN, &quot;aufgaben.csv&quot;;  while (<AUFGABEN>) { chomp; $_ =~ s/\s*,\s*/,/g;  # Leerzeichen entfernen ($g, $t1, $t2, $t3, $t4, $k) = split &quot;,&quot;, $_; print &quot;$t1\n$t2\n&quot;;  # z.B. alle gewünschte Themen } Mail > Parsen > Aufgaben verteilen
Typische Erfahrungen Kommentare &quot;Wenn es möglich ist, würde ich mein Referat gerne im November halten!&quot; „ Hochschulbibliographien wäre mein Erstwunsch“ Verschiedene Ansetzung &quot;T1 Struktur der Inhalte von *LibraryThing&quot; vs. &quot;LibraryThing&quot; &quot;Internetarchive&quot; vs. &quot;Internet Archive&quot;
Typische Erfahrungen Uneinheitliche Verknüpfung &quot;1&quot;, &quot;2&quot;, &quot;Gr2&quot;, &quot;Gruppe 2&quot; &quot;1,4,1,6,7,hoffentlich klappts&quot; Lückenhafte Datengrundlage &quot;Die Zeile sollte um den Namen des Studenten erweitert werden.&quot; Mails bis Freitag Abend: 24/36 Mails bis Sonntag Abend : 32/36
Fazit Im Idealfall geht mit einem guten Datenformate vieles automatisch Nicht alle Datenformate sind ideal, vor allem ihre Benutzung nicht!
Woraus bestehen Datenformate? Abstraktes Datenmodell Klassen, Entitäten, Relationen, Kardinalität... Konkrete Syntax und Kodierung CSV, XML, RDF..., Zeichenkodierung Oft in mehreren Ebenen Verwendung Erfahrung und Beispiele Werkzeuge
Konkrete Kodierungsformen Feldbasierte Formate Datenbank-Format (SQL) XML JSON Microformats RDF (Semantic Web) ...
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;
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; ...
JavaScriptObjectNotation (JSON) [  {  &quot;name&quot;  : &quot;Fritzchen&quot;, &quot;alter&quot; : 4 }, {  &quot;name&quot;  : &quot;Fritz&quot;, &quot;alter&quot; : 24 } ]
Einheitlichkeit und Validierung Was nicht festgelegt ist, wird verschieden gehandhabt Was nicht überprüft werden kann, wird missachtet oder ignoriert Was keine Auswirkungen hat ist irrelevant
Validierung Spezielles Programm Schemadefinition (z.B. XML Schema) Wie dürfen Daten aussehen? Was ist vorgeschrieben?
Weiteres Beispiel Stammbaum-Format Abstrakt Personen und Rollen: Vater, Mutter, Kind Relation: Nachkomme (Vater, Mutter, Kind)
Weiteres 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> ...
Schlussfolgerung Es gibt viele Wege, die gleiche Information zu kodieren Unterschiedliche Formate und Kodierungen haben unterschiedliche Eigenheiten Notwendig sind Standards Konvertierung zwischen Kodierungen
Arten von Standards Normen Industriestandard De-Facto-Standard Offener Standard
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) Möglichst Konsens-Prinzip aller „Beteiligten“ Relativ sicher aber langwierig und teuer
Arten von Standards Internetstandards Request For Comments (RFC) der IETF Recommendations  des W3C Bibliothekarische Standards MARC, MAB, Z39.50, SRU, FRBR ... Datenformate und Verfahren
Offene Standards Offene Organisationen (RFC , W3C) Anschließende Offenlegung  (z.B. SRU/SRW) Community-basiert (Microformats) Offene Standards => Freie Märkte
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
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
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
Beispiel: PICA-Datenformat Internes (bibliografisches) Datenformat der CBS und LBS-Software Struktur aus Feldern und Unterfeldern Pica3 zur Katalogisierung und Pica+ intern Details zur Verwendung geregelt durch Katalogisierungsrichtlinien Ähnliche Grund struktur  wie MAB/MARC
Feldbasiertes Formate Einfach Titel : Zettelwirtschaft  Autor : Krajewski, Markus  Pica+ 021A : a : Zettelwirtschaft 028A : d : Markus a : Krajeski
Einige weitere Formate [Qualified] Dublin Core (DC) Metadata Object Description Schema (MODS) Metadata Encoding and Transmission Standard (METS) Text Encoding Initiative (TEI) Encoded Archival Description (EAD) ONIX International (Online Information Exchange) EXIF, IPTC (XMP) u.v.a.m. ! ONIX
&quot;Semantische&quot; Datenformate Datenfelder als global definierte &quot;Properties&quot; mit einem festen URI Beispiel: http://xmlns.com/foaf/0.1/name Ggf. zusätzliche Beschränkung auf bestimmte Datentypen  Ohne Validierung wenig hilfreich! Vom Datenformat zur Ontologie
Zusammenfassung Bei Datenformaten  sehr genau  sein Unterscheidung notwendig Abstrakte Strukturierung (Datenmodell) Konkrete Kodierung (Datenformat) Anwendung (Werkzeuge und Praxis) Definiert durch Standards Datenformate basieren aufeinander
Bis nächste Woche!

Datenformate und Standards

  • 1.
    Digitale Bibliothek JakobVoß Datenformate und Standards Digitale Bibliothek WS 2008/2009 Fachhochschule Hannover Informationsmanagement (BA) TAG. MONAT 2008
  • 2.
  • 3.
    Semesterplan 29.09.08 -Einführung 06.10.08 - Datenformate und Standards 13.10.08 - Schnittstellen und Webservices 20.10.08 - Semantic Web und Wissensorganisation 27.10.08 - Communities und Soziale Netzwerke 03.11.08 - Weblogs, Feeds und Syndication 10.11.08 - Formen und Bestandteile Digitaler Bibliotheken 17.11.08 - Empfehlungsdienste und Data-Mining 24.11.08 - Datenkonvertierung und Mapping 01.12.08 - Mashups und Automatisierung 08.12.08 - Digitalisierung und Langzeitarchivierung 15.12.08 - Social Tagging und Indexierung 22.12.08 - Nutzer, Autoren und Werke im digitalen Raum 05.01.09 - Zusammenfassung und Ausblick mit Kurzvorträgen zusammen Achtung, Gruppenwechsel!
  • 4.
    Termine für dieKurzvorträge 27.10.08 – Privacy, OpenID 03.11.08 – ATOM, Lizenzmodelle, Weblogs 10.11.08 – Repositories, Föderation 17.11.08 – Kataloganreicherung, Fernseharchive 24.11.08 – Hochschulbibliographien, BibTeX 01.12.08 – OpenStreetmap, Geodaten 08.12.08 – Netzkunst, Internet Archive 15.12.08 – Semantic Tagging, LibraryThing 22.12.08 – Open Library, Kommentarfunktionen
  • 5.
    Hinweise zur RechercheWissenschaftsportal b2i (Metasuche) Fachzeitschriften und Konferenzen Blogsuche Link- und Literaturlisten Nachfragen (Mailinglisten, Experten, Bibliothekar etc.) Hinweise im Moodle-Wiki lesen, ggf. fragen Ergebnisse erschließen bei BibSonomy
  • 6.
  • 7.
    Verarbeitung Format: [fhhdb08] und G,T1,T2,T3,T4,K #!/usr/bin/perl open AUFGABEN, &quot;aufgaben.csv&quot;; while (<AUFGABEN>) { chomp; $_ =~ s/\s*,\s*/,/g; # Leerzeichen entfernen ($g, $t1, $t2, $t3, $t4, $k) = split &quot;,&quot;, $_; print &quot;$t1\n$t2\n&quot;; # z.B. alle gewünschte Themen } Mail > Parsen > Aufgaben verteilen
  • 8.
    Typische Erfahrungen Kommentare&quot;Wenn es möglich ist, würde ich mein Referat gerne im November halten!&quot; „ Hochschulbibliographien wäre mein Erstwunsch“ Verschiedene Ansetzung &quot;T1 Struktur der Inhalte von *LibraryThing&quot; vs. &quot;LibraryThing&quot; &quot;Internetarchive&quot; vs. &quot;Internet Archive&quot;
  • 9.
    Typische Erfahrungen UneinheitlicheVerknüpfung &quot;1&quot;, &quot;2&quot;, &quot;Gr2&quot;, &quot;Gruppe 2&quot; &quot;1,4,1,6,7,hoffentlich klappts&quot; Lückenhafte Datengrundlage &quot;Die Zeile sollte um den Namen des Studenten erweitert werden.&quot; Mails bis Freitag Abend: 24/36 Mails bis Sonntag Abend : 32/36
  • 10.
    Fazit Im Idealfallgeht mit einem guten Datenformate vieles automatisch Nicht alle Datenformate sind ideal, vor allem ihre Benutzung nicht!
  • 11.
    Woraus bestehen Datenformate?Abstraktes Datenmodell Klassen, Entitäten, Relationen, Kardinalität... Konkrete Syntax und Kodierung CSV, XML, RDF..., Zeichenkodierung Oft in mehreren Ebenen Verwendung Erfahrung und Beispiele Werkzeuge
  • 12.
    Konkrete Kodierungsformen FeldbasierteFormate Datenbank-Format (SQL) XML JSON Microformats RDF (Semantic Web) ...
  • 13.
    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;
  • 14.
    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; ...
  • 15.
    JavaScriptObjectNotation (JSON) [ { &quot;name&quot; : &quot;Fritzchen&quot;, &quot;alter&quot; : 4 }, { &quot;name&quot; : &quot;Fritz&quot;, &quot;alter&quot; : 24 } ]
  • 16.
    Einheitlichkeit und ValidierungWas nicht festgelegt ist, wird verschieden gehandhabt Was nicht überprüft werden kann, wird missachtet oder ignoriert Was keine Auswirkungen hat ist irrelevant
  • 17.
    Validierung Spezielles ProgrammSchemadefinition (z.B. XML Schema) Wie dürfen Daten aussehen? Was ist vorgeschrieben?
  • 18.
    Weiteres Beispiel Stammbaum-FormatAbstrakt Personen und Rollen: Vater, Mutter, Kind Relation: Nachkomme (Vater, Mutter, Kind)
  • 19.
    Weiteres Beispiel Stammbaum-FormatAbstrakt Personen und Rollen: Elter, Elter, Kind Relation: Nachkomme (Elter, Elter, Kind)
  • 20.
  • 21.
    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 ) .
  • 22.
    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 ;-)
  • 23.
    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> ...
  • 24.
    Schlussfolgerung Es gibtviele Wege, die gleiche Information zu kodieren Unterschiedliche Formate und Kodierungen haben unterschiedliche Eigenheiten Notwendig sind Standards Konvertierung zwischen Kodierungen
  • 25.
    Arten von StandardsNormen Industriestandard De-Facto-Standard Offener Standard
  • 26.
    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) Möglichst Konsens-Prinzip aller „Beteiligten“ Relativ sicher aber langwierig und teuer
  • 27.
    Arten von StandardsInternetstandards Request For Comments (RFC) der IETF Recommendations des W3C Bibliothekarische Standards MARC, MAB, Z39.50, SRU, FRBR ... Datenformate und Verfahren
  • 28.
    Offene Standards OffeneOrganisationen (RFC , W3C) Anschließende Offenlegung (z.B. SRU/SRW) Community-basiert (Microformats) Offene Standards => Freie Märkte
  • 29.
    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
  • 30.
    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
  • 31.
    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
  • 32.
    Beispiel: PICA-Datenformat Internes(bibliografisches) Datenformat der CBS und LBS-Software Struktur aus Feldern und Unterfeldern Pica3 zur Katalogisierung und Pica+ intern Details zur Verwendung geregelt durch Katalogisierungsrichtlinien Ähnliche Grund struktur wie MAB/MARC
  • 33.
    Feldbasiertes Formate EinfachTitel : Zettelwirtschaft Autor : Krajewski, Markus Pica+ 021A : a : Zettelwirtschaft 028A : d : Markus a : Krajeski
  • 34.
    Einige weitere Formate[Qualified] Dublin Core (DC) Metadata Object Description Schema (MODS) Metadata Encoding and Transmission Standard (METS) Text Encoding Initiative (TEI) Encoded Archival Description (EAD) ONIX International (Online Information Exchange) EXIF, IPTC (XMP) u.v.a.m. ! ONIX
  • 35.
    &quot;Semantische&quot; Datenformate Datenfelderals global definierte &quot;Properties&quot; mit einem festen URI Beispiel: http://xmlns.com/foaf/0.1/name Ggf. zusätzliche Beschränkung auf bestimmte Datentypen Ohne Validierung wenig hilfreich! Vom Datenformat zur Ontologie
  • 36.
    Zusammenfassung Bei Datenformaten sehr genau sein Unterscheidung notwendig Abstrakte Strukturierung (Datenmodell) Konkrete Kodierung (Datenformat) Anwendung (Werkzeuge und Praxis) Definiert durch Standards Datenformate basieren aufeinander
  • 37.