Upgrade to Pro — share decks privately, control downloads, hide ads and more …

api.lobid.org: Eine kleine Vorschau

lobid
June 20, 2013

api.lobid.org: Eine kleine Vorschau

Workshop Datenmanagement und ERM, SLUB Dresden, Juni 2013

lobid

June 20, 2013
Tweet

More Decks by lobid

Other Decks in Technology

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