Digitale Bibliothek Jakob Voss Webservices und Datenformate Digitale Bibliothek WS 2007/2008 Fachhochschule Hannover Informationsmanagement (BA) 26. November 2007
Datenformate Unterscheidung notwendig Abstrakte Strukturierung (Datenmodell) Konkrete Kodierung (Datenformat) Definiert durch Standards Datenformate basieren aufeinander
Kodierungsformen XML SQL RDF JSON ...
Feldbasierte Formate Einfach Titel : Zettelwirtschaft  Autor : Krajewski, Markus  Pica+ 021A : a : Zettelwirtschaft 028A : d : Markus a : Krajeski
Pica-Datenformat Internes (bibliografisches) Datenformat der CBS und LBS-Software Struktur aus Feldern und Unterfeldern Pica3 zur Katalogisierung und Pica+ intern Details geregelt durch Katalogisierungsrichtlinien Ähnliche Grundstruktur (!) wie MAB/MARC
Webservices Konkretes Beispiel Gegeben eine ISBN Ist das Buch(?) an der FH ausleihbar? Gibt es das Buch(?) in Hannover?
Datenverarbeitung Daten holen Screen Scraper Gegebene API Daten weitergeben Direkt in eigene Anwendung einbinden Proprietäre API Standardisierte API
Verfügbarkeit ermitteln mittels Screen Scraper Katalog der Bibliothek im Kurt-Schwitters-Forum http://opc4.tib.uni-hannover.de:8080/DB=11/  Titeldaten Standort und Ausleihstatus Raussuchen per Hand
Verfügbarkeit ermitteln mittels Screen Scraper use LWP::Simple; my $opac = 'http://opc4.tib.uni-hannover.de:8080/DB=11';  my $ikt = 1016; my $regexp = '>Ausleihstatus: <\/strong><\/td><td[^>]+>([^>]+)<BR>([^>]+)<'; my $isbn = shift @ARGV; my @status; if ($isbn) { my $url = $opac . &quot;/CMD?ACT=SRCHA&IKT=&quot; . $ikt . &quot;&TRM=&quot; . $isbn; my $html = get($url); while ($html =~ m/$regexp/g) { push @status, &quot;$isbn: $1, $2&quot;; } @status = (&quot;$isbn: nicht gefunden&quot;) unless @status; print join(&quot;\n&quot;, @status) . &quot;\n&quot;; } else { print &quot;Usage: $0 ISBN\n&quot;; }
Verfügbarkeit ermitteln mittels Screen Scraper $ ./isbn-at-schwitters.pl 3-931659-29-1 3-931659-29-1: Ausleihbar, Bitte selbst am Standort Freihand dem Regal entnehmen $ ./isbn-at-schwitters.pl 3-936931-16-X 3-936931-16-X: Praesenzexemplar, - 3-936931-16-X: Ausleihbar, z. Zt. ausgeliehen 3-936931-16-X: Ausleihbar, z. Zt. ausgeliehen $ ./isbn-at-schwitters.pl 978-0-8050-8043-8 978-0-8050-8043-8: beim Buchhandel bestellt, - $ ./isbn-at-schwitters.pl 978-3-446-41208-8 978-3-446-41208-8: Praesenzexemplar, - $ ./isbn-at-schwitters.pl 978-3-937514-42-0 978-3-937514-42-0: nicht gefunden
Vorhandensein über- prüfen mittels SRU-API Gesamtkatalog Hannover http://gso.gbv.de/DB=2.92/  SRU-Schnittstelle http://gso.gbv.de/sru/DB=2.92/  Titel- und Exemplardaten im PICA-Format
Vorhandensein über- prüfen mittels SRU-API use PICA::Server; my $isbn = shift @ARGV; my @status; if ($isbn) { my $server = PICA::Server->new( SRU => &quot;http://gso.gbv.de/sru/DB=2.92/&quot; ); $server->cqlQuery( 'pica.isb=' . $isbn,  Record => sub {  $record = shift; my @bib = $record->values('101@$d'); push @status, @bib; } ); @status = (&quot;$isbn: nicht gefunden&quot;) unless @status; print join(&quot;\n&quot;, @status) . &quot;\n&quot;; } else {  print &quot;Usage: $0 ISBN\n&quot;; }
Weitergabe über SeeAlso-API Basiert auf unAPI und OpenSearch Suggestions Query-Format: wie unAPI mit format=seealso&id=... Response-Format: OpenSearch Suggestions (JSON) [&quot;..id..&quot;,[..titles..],[..descriptions..],[..urls..]]
(OpenSearch Suggestions) SeeAlso Linkserver ISBN JSON Links JavaScript
(OpenSearch Suggestions) SeeAlso Wrapper Webservice ISBN JSON Verfügbarkeit JavaScript OPAC ISBN
Bibliothekarische Datenformate Bernhard Eversberg  (1989, 1994, 1999) : Was sind und was sollen Bibliothekarische Datenformate?  http://www.allegro-c.de/formate/  MARC, MAB, PICA, Allegro ... Feldbasiert Insellösungen (eigener Zeichensatz, eigene Werkzeuge, eigene Sonderwege...) Definiert durch: Katalogisierungsrichtlinien Nachteil: Ungenau (nicht formal) definiert, wenig Kontrolle, Werkzeuge, APIs...
BibTeX Hilfsmittel zur Formatierung von Literaturangaben im Satzprogramm LaTeX Existiert seit 1985 (sic!) Trennung von Layout (Bibliographystyle) und Inhalten (Datensätze in .bib-files)
BibTeX @BOOK{knuth2book, author = &quot;Donald E. Knuth&quot;, title = &quot;Seminumerical Algorithms&quot;, volume = 2, series = &quot;The Art of Computer Programming&quot;, publisher = &quot;Addison-Wesley&quot;, address = &quot;Reading, Massachusetts&quot;, edition = &quot;Second&quot;, year = &quot;1981&quot;, note = &quot;This is a full BOOK entry&quot;, }
BibTeX Publikationstypen article, book, conference, inbook, misc... Felder author, title, journal, year, number, pages... Vor- und Nachteile robuster, etablierter und verbreiteter de-facto-Standard Kein verbindliches Datenschema, kein Unicode etc.
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 sind Datentypen witzlos!
&quot;Semantische&quot; Datenformate Datenformat => Ontologie Semantic Web (&quot;Web 3.0&quot;) im Kommen Übung: Bestehende Formate müssen durch Verwendung von RDF tauglich fürs Semantic-Web gemacht werden! Bibliographic Ontology?

Webservices und Datenformate

  • 1.
    Digitale Bibliothek JakobVoss Webservices und Datenformate Digitale Bibliothek WS 2007/2008 Fachhochschule Hannover Informationsmanagement (BA) 26. November 2007
  • 2.
    Datenformate Unterscheidung notwendigAbstrakte Strukturierung (Datenmodell) Konkrete Kodierung (Datenformat) Definiert durch Standards Datenformate basieren aufeinander
  • 3.
  • 4.
    Feldbasierte Formate EinfachTitel : Zettelwirtschaft Autor : Krajewski, Markus Pica+ 021A : a : Zettelwirtschaft 028A : d : Markus a : Krajeski
  • 5.
    Pica-Datenformat Internes (bibliografisches)Datenformat der CBS und LBS-Software Struktur aus Feldern und Unterfeldern Pica3 zur Katalogisierung und Pica+ intern Details geregelt durch Katalogisierungsrichtlinien Ähnliche Grundstruktur (!) wie MAB/MARC
  • 6.
    Webservices Konkretes BeispielGegeben eine ISBN Ist das Buch(?) an der FH ausleihbar? Gibt es das Buch(?) in Hannover?
  • 7.
    Datenverarbeitung Daten holenScreen Scraper Gegebene API Daten weitergeben Direkt in eigene Anwendung einbinden Proprietäre API Standardisierte API
  • 8.
    Verfügbarkeit ermitteln mittelsScreen Scraper Katalog der Bibliothek im Kurt-Schwitters-Forum http://opc4.tib.uni-hannover.de:8080/DB=11/ Titeldaten Standort und Ausleihstatus Raussuchen per Hand
  • 9.
    Verfügbarkeit ermitteln mittelsScreen Scraper use LWP::Simple; my $opac = 'http://opc4.tib.uni-hannover.de:8080/DB=11'; my $ikt = 1016; my $regexp = '>Ausleihstatus: <\/strong><\/td><td[^>]+>([^>]+)<BR>([^>]+)<'; my $isbn = shift @ARGV; my @status; if ($isbn) { my $url = $opac . &quot;/CMD?ACT=SRCHA&IKT=&quot; . $ikt . &quot;&TRM=&quot; . $isbn; my $html = get($url); while ($html =~ m/$regexp/g) { push @status, &quot;$isbn: $1, $2&quot;; } @status = (&quot;$isbn: nicht gefunden&quot;) unless @status; print join(&quot;\n&quot;, @status) . &quot;\n&quot;; } else { print &quot;Usage: $0 ISBN\n&quot;; }
  • 10.
    Verfügbarkeit ermitteln mittelsScreen Scraper $ ./isbn-at-schwitters.pl 3-931659-29-1 3-931659-29-1: Ausleihbar, Bitte selbst am Standort Freihand dem Regal entnehmen $ ./isbn-at-schwitters.pl 3-936931-16-X 3-936931-16-X: Praesenzexemplar, - 3-936931-16-X: Ausleihbar, z. Zt. ausgeliehen 3-936931-16-X: Ausleihbar, z. Zt. ausgeliehen $ ./isbn-at-schwitters.pl 978-0-8050-8043-8 978-0-8050-8043-8: beim Buchhandel bestellt, - $ ./isbn-at-schwitters.pl 978-3-446-41208-8 978-3-446-41208-8: Praesenzexemplar, - $ ./isbn-at-schwitters.pl 978-3-937514-42-0 978-3-937514-42-0: nicht gefunden
  • 11.
    Vorhandensein über- prüfenmittels SRU-API Gesamtkatalog Hannover http://gso.gbv.de/DB=2.92/ SRU-Schnittstelle http://gso.gbv.de/sru/DB=2.92/ Titel- und Exemplardaten im PICA-Format
  • 12.
    Vorhandensein über- prüfenmittels SRU-API use PICA::Server; my $isbn = shift @ARGV; my @status; if ($isbn) { my $server = PICA::Server->new( SRU => &quot;http://gso.gbv.de/sru/DB=2.92/&quot; ); $server->cqlQuery( 'pica.isb=' . $isbn, Record => sub { $record = shift; my @bib = $record->values('101@$d'); push @status, @bib; } ); @status = (&quot;$isbn: nicht gefunden&quot;) unless @status; print join(&quot;\n&quot;, @status) . &quot;\n&quot;; } else { print &quot;Usage: $0 ISBN\n&quot;; }
  • 13.
    Weitergabe über SeeAlso-APIBasiert auf unAPI und OpenSearch Suggestions Query-Format: wie unAPI mit format=seealso&id=... Response-Format: OpenSearch Suggestions (JSON) [&quot;..id..&quot;,[..titles..],[..descriptions..],[..urls..]]
  • 14.
    (OpenSearch Suggestions) SeeAlsoLinkserver ISBN JSON Links JavaScript
  • 15.
    (OpenSearch Suggestions) SeeAlsoWrapper Webservice ISBN JSON Verfügbarkeit JavaScript OPAC ISBN
  • 16.
    Bibliothekarische Datenformate BernhardEversberg (1989, 1994, 1999) : Was sind und was sollen Bibliothekarische Datenformate? http://www.allegro-c.de/formate/ MARC, MAB, PICA, Allegro ... Feldbasiert Insellösungen (eigener Zeichensatz, eigene Werkzeuge, eigene Sonderwege...) Definiert durch: Katalogisierungsrichtlinien Nachteil: Ungenau (nicht formal) definiert, wenig Kontrolle, Werkzeuge, APIs...
  • 17.
    BibTeX Hilfsmittel zurFormatierung von Literaturangaben im Satzprogramm LaTeX Existiert seit 1985 (sic!) Trennung von Layout (Bibliographystyle) und Inhalten (Datensätze in .bib-files)
  • 18.
    BibTeX @BOOK{knuth2book, author= &quot;Donald E. Knuth&quot;, title = &quot;Seminumerical Algorithms&quot;, volume = 2, series = &quot;The Art of Computer Programming&quot;, publisher = &quot;Addison-Wesley&quot;, address = &quot;Reading, Massachusetts&quot;, edition = &quot;Second&quot;, year = &quot;1981&quot;, note = &quot;This is a full BOOK entry&quot;, }
  • 19.
    BibTeX Publikationstypen article,book, conference, inbook, misc... Felder author, title, journal, year, number, pages... Vor- und Nachteile robuster, etablierter und verbreiteter de-facto-Standard Kein verbindliches Datenschema, kein Unicode etc.
  • 20.
    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
  • 21.
    &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 sind Datentypen witzlos!
  • 22.
    &quot;Semantische&quot; Datenformate Datenformat=> Ontologie Semantic Web (&quot;Web 3.0&quot;) im Kommen Übung: Bestehende Formate müssen durch Verwendung von RDF tauglich fürs Semantic-Web gemacht werden! Bibliographic Ontology?