Digitale Bibliothek Jakob Voss Webservices und Datenformate Digitale Bibliothek WS 2007/2008 Fachhochschule Hannover Infor...
Datenformate <ul><li>Unterscheidung notwendig </li></ul><ul><ul><li>Abstrakte Strukturierung (Datenmodell) </li></ul></ul>...
Kodierungsformen <ul><li>XML </li></ul><ul><li>SQL </li></ul><ul><li>RDF </li></ul><ul><li>JSON </li></ul><ul><li>... </li...
Feldbasierte Formate <ul><li>Einfach </li></ul><ul><ul><li>Titel : Zettelwirtschaft  </li></ul></ul><ul><ul><li>Autor : Kr...
Pica-Datenformat <ul><li>Internes (bibliografisches) Datenformat der CBS und LBS-Software </li></ul><ul><li>Struktur aus F...
Webservices <ul><li>Konkretes Beispiel </li></ul><ul><ul><li>Gegeben eine ISBN </li></ul></ul><ul><ul><li>Ist das Buch(?) ...
Datenverarbeitung <ul><li>Daten holen </li></ul><ul><ul><li>Screen Scraper </li></ul></ul><ul><ul><li>Gegebene API </li></...
Verfügbarkeit ermitteln mittels Screen Scraper <ul><li>Katalog der Bibliothek im Kurt-Schwitters-Forum </li></ul><ul><li>h...
Verfügbarkeit ermitteln mittels Screen Scraper <ul><li>use LWP::Simple; </li></ul><ul><li>my $opac = 'http://opc4.tib.uni-...
Verfügbarkeit ermitteln mittels Screen Scraper <ul><li>$ ./isbn-at-schwitters.pl 3-931659-29-1 </li></ul><ul><li>3-931659-...
Vorhandensein über- prüfen mittels SRU-API <ul><li>Gesamtkatalog Hannover </li></ul><ul><ul><li>http://gso.gbv.de/DB=2.92/...
Vorhandensein über- prüfen mittels SRU-API <ul><li>use PICA::Server; </li></ul><ul><li>my $isbn = shift @ARGV; </li></ul><...
Weitergabe über SeeAlso-API <ul><li>Basiert auf unAPI und OpenSearch Suggestions </li></ul><ul><li>Query-Format: </li></ul...
(OpenSearch Suggestions) SeeAlso Linkserver ISBN JSON Links JavaScript
(OpenSearch Suggestions) SeeAlso Wrapper Webservice ISBN JSON Verfügbarkeit JavaScript OPAC ISBN
Bibliothekarische Datenformate <ul><li>Bernhard Eversberg  (1989, 1994, 1999) : Was sind und was sollen Bibliothekarische ...
BibTeX <ul><li>Hilfsmittel zur Formatierung von Literaturangaben im Satzprogramm LaTeX </li></ul><ul><li>Existiert seit 19...
BibTeX <ul><li>@BOOK{knuth2book, </li></ul><ul><li>author = &quot;Donald E. Knuth&quot;, </li></ul><ul><li>title = &quot;S...
BibTeX <ul><li>Publikationstypen </li></ul><ul><ul><li>article, book, conference, inbook, misc... </li></ul></ul><ul><li>F...
Einige weitere Formate <ul><li>[Qualified] Dublin Core (DC) </li></ul><ul><li>Metadata Object Description Schema (MODS) </...
&quot;Semantische&quot; Datenformate <ul><li>Datenfelder als global definierte &quot;Properties&quot; mit einem festen URI...
&quot;Semantische&quot; Datenformate <ul><li>Datenformat => Ontologie </li></ul><ul><li>Semantic Web (&quot;Web 3.0&quot;)...
Nächste SlideShare
Wird geladen in …5
×

Webservices und Datenformate

2.976 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
2.976
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
27
Aktionen
Geteilt
0
Downloads
19
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Webservices und Datenformate

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

×