api.lobid.org: Eine kleine Vorschau

C7edab8d350fffad9fa06e2de9d4e885?s=47 lobid
June 20, 2013

api.lobid.org: Eine kleine Vorschau

Workshop Datenmanagement und ERM, SLUB Dresden, Juni 2013

C7edab8d350fffad9fa06e2de9d4e885?s=128

lobid

June 20, 2013
Tweet

Transcript

  1. api.lobid.org Eine kleine Vorschau Fabian Steeg Workshop Datenmanagement und ERM

    SLUB Dresden 20. Juni 2013 api.lobid.org Fabian Steeg
  2. lobid.org lobid.org: LOD-Dienst des hbz, seit 2010 (’linking open bibliographic

    data’) Titeldaten (lobid-resources), Normdaten (lobid-organisations); bisher: Dumps und Triple-Store Verschiedene Probleme und neue Anforderungen (z.B. Auto-Suggest f¨ ur Normdaten) → entwickeln neues Backend api.lobid.org Fabian Steeg
  3. API I – Motivation Application Programming Interfaces sind ein essentieller

    Bestandteil von wiederverwendbaren Modulen Module kommunizieren ¨ uber API, kennen keine Implementierungsdetails Implementierung so austauschbar und ver¨ anderbar – ohne dass alle API-Clients (=Anwendungen) angepasst werden m¨ ussen api.lobid.org Fabian Steeg
  4. API II – Abstraktion Triple-Store als API? - Triple-Store cool,

    aber als API problematisch (z.B. Performance) Wegen Performance (z.B. Auto-Suggest) anderer Ansatz: Suchmaschinentechnologie – aber: Suchmaschine als API? API unabh¨ angig von Implementierung! API als stabile Abstraktion ¨ uber Daten! api.lobid.org Fabian Steeg
  5. API III – Publikum Antragstext: wenn Googles Weg nur Teil

    der L¨ osung ist, ist eben auch Linked Open Data nur Teil der L¨ osung “Digitale Revolution wird in erster Linie von Technologiefirmen und Web-2.0-Gemeinde vorangetrieben” Sollte ein Webentwickler sich f¨ ur LOD interessieren m¨ ussen um von LOD zu profitieren? – Ziel: LOD f¨ ur Webentwickler, nicht (nur) f¨ ur LOD-Experten → JSON ¨ uber HTTP api.lobid.org Fabian Steeg
  6. API – Anfragen GET / r e s o u

    r c e /0940450003 GET / r e s o u r c e ?name=Faust GET / o r g a n i s a t i o n /SzBaU GET / o r g a n i s a t i o n ?name=Uni+Basel GET / person /118580604 GET / person ?name=Herman+M e l v i l l e GET / r e s o u r c e ? author=M e l v i l l e GET / r e s o u r c e ? s u b j e c t=Chemistry api.lobid.org Fabian Steeg
  7. API – Antworten I GET / person ?name=Loki&format=s h or

    t [ ”Sander , Hans (1895 −1968)” , ”Schmidt , Hannelore (1919 −2010)” , ” Lokin , Jan H. A. (1945 −)” , ” Lokies , Hans (1895 −1982)” , . . . ] api.lobid.org Fabian Steeg
  8. API – Antworten II GET / person ?name=Loki+Schmidt [{ ”gnd

    : g n d I d e n t i f i e r ” : ”118836617” ”gnd : preferredNameForThePerson ” : ”Schmidt , Hannelore ” , ”gnd : variantNameForThePerson ” : [ ” Glaser , Hannelore ” , ”Schmidt , Loki ” ] , ”gnd : dateOfBirth ” : ”1919” , ”gnd : dateOfDeath ” : ”2010” , . . . }] api.lobid.org Fabian Steeg
  9. Implementierung – ¨ Uberblick I Was rauskommt: JSON ¨ uber

    HTTP – JSON-LD um genau zu sein, dadurch auch (andere) RDF-Serialisierungen ¨ uber Content-Negotiation Unser Stack: Metafacture, Hadoop, Elasticsearch, Play Hinter API andere Implementierungen denkbar, auch z.B. mit Triple Store api.lobid.org Fabian Steeg
  10. Implementierung – ¨ Uberblick II API- Client API GET... JSON

    Play Elasticsearch Hadoop Metafacture Triple-Store Data api.lobid.org Fabian Steeg
  11. Implementierung – Details Von Rohdaten zu N-Triples mit Metafacture &

    IDE (lobid-organisations umgestellt, lobid-resources bis Herbst) Aufl¨ osung von Links, Anreicherung und JSON-LD-Konvertierung mit Hadoop (& Jena + jsonld-java) Indexierung in Elasticsearch (Lucene-basierte Suchmaschine mit Cluster-Support und JSON f¨ ur Daten und Queries) HTTP-API mit Play-Framework (Rails-artiges Framework f¨ ur Java, statisch typisiert, Scala als Template-Sprache) api.lobid.org Fabian Steeg
  12. GitHub und Testbetrieb Code und Infrastruktur (Wiki, Issues, CI, Reviews)

    auf GitHub: http://github.com/lobid/lodmill Aktuelle Testversion der API: http://api.lobid.org Achtung, Testbetrieb – l¨ auft zur Zeit noch auf altem Desktop mit unvollst¨ andigen Daten, Umzug in den n¨ achsten Wochen Nutzung, Feedback, und Contributions w¨ urden uns freuen! api.lobid.org Fabian Steeg