SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
Adrian Pohl

Aufbau einer LODbasierten Web-API am
Beispiel von api.lobid.org
ZBIW-Seminar „Semantic Web / Open Catalogue / Linked Open Data für
Bibliotheken“. Köln, 10.10.2013.
Struktur
2

1. Hintergrund
2. Web-APIs
3. JSON-LD to the Rescue
4. lobid-API

Pohl: LOD-basierte Web-API am Beispiel von api.lobid.org
1. Hintergrund

3
Ziele
4

Warum Bibliotheksdaten gemäß Web Standards
bereitstellen?
Verlinkbarkeit von Bibliotheksinformationen
Indexierung und Auffindbarkeit
Interoperabilität
Einfache Wiederverwendung

Pohl: LOD-basierte Web-API am Beispiel von api.lobid.org
Problem
5

"Semantic Web"-Community sehr akademisch
"Linked Open Data" sollte das ändern, was nur
bedingt geklappt hat → für viele ist LOD nicht
interessant
Aber: Web 2.0 und RESTful APIs sind erfolgreich
Um APIs entsteht App-Ökosystem, z. B. Twitter.
Nutzung von APIs ist "täglich Brot" von Webentwicklern

LOD und Web-APIs waren lange Zeit getrennte
Ansätze
Pohl: LOD-basierte Web-API am Beispiel von api.lobid.org
2. Web-APIs

6
(Web-)APIs
7

API = "Application Programming Interface"
Programmierschnittstelle für andere
Anwendungsentwickler
Web-APIS:
HTTP-basiert, d. h. Zugriff mittels HTTP-Methoden (GET, PUT,
POST, DELETE)
liefern JSON und/oder XML

Pohl: LOD-basierte Web-API am Beispiel von api.lobid.org
API: Motivation
8

APIs sind ein essentieller Bestandteil von
wiederverwendbaren Modulen
Module kommunizieren über API, kennen keine
Implementierungsdetails
Implementierung so austauschbar und veränderbar
– ohne dass alle API-Clients (=Anwendungen)
angepasst werden müssen

Pohl: LOD-basierte Web-API am Beispiel von api.lobid.org
Beispiel-Anfrage: github-API
9

GET https://api.github.com/users/acka47
Antwort (JSON):
{
  "login": "acka47",
  "id": 160292,
  "url": "https://api.github.com/users/acka47",
  "name": "Adrian Pohl",
  "company": "hbz",
  "blog": "http://www.uebertext.org",
  "created_at": "2009­12­01T10:29:19Z",
  "updated_at": "2013­10­09T09:41:07Z"
}

Pohl: LOD-basierte Web-API am Beispiel von api.lobid.org
LOD vs. Web-APIs
10

LOD
HTTP-URIs für Dinge & ihre
Beschreibungen

●

Web-APIs
URLs für Ressourcen &
Repräsentation

●

RDF

●

SPARQL

●

●

●

JSON und/oder XML

HTTP-Methoden mit
URL-Parametern

Pohl: LOD-basierte Web-API am Beispiel von api.lobid.org
3. JSON-LD to the Rescue

11
{
  "login": "acka47",
  "id": 160292,
  "url": "https://api.github.com/users/acka47",
  "name": "Adrian Pohl",
  "company": "hbz",
  "blog": "http://www.uebertext.org"
}

12
{
  "@context":
   {
      "login": "http://xmlns.com/foaf/0.1/nick",
      "id": "http://purl.org/dc/terms/identifier",
      "url": 
      {
         "@id": "http://xmlns.com/foaf/0.1/page",
         "@type": "@id"
      },
      "name": "http://xmlns.com/foaf/0.1/name",
      "company": "http://www.w3.org/ns/org#memberOf",
      "blog":
      {
         "@id": "http://xmlns.com/foaf/0.1/weblog",
         "@type": "@id"
      },
      "email": "http://xmlns.com/foaf/0.1/mbox"
   },
  "login": "acka47",
  "id": 160292,
  "url": "https://api.github.com/users/acka47",
  "name": "Adrian Pohl",
  "company": "hbz",
  "blog": "http://www.uebertext.org"
}

13
{
  "@context":
   {
      "login": "http://xmlns.com/foaf/0.1/nick",
      "id": "http://purl.org/dc/terms/identifier",
      "url": 
      {
         "@id": "http://xmlns.com/foaf/0.1/page",
         "@type": "@id"
      },
      "name": "http://xmlns.com/foaf/0.1/name",
      "company": "http://www.w3.org/ns/org#memberOf",
      "blog":
      {
         "@id": "http://xmlns.com/foaf/0.1/weblog",
         "@type": "@id"
      },
      "email": "http://xmlns.com/foaf/0.1/mbox"
   },
  "login": "acka47",
  "id": 160292,
  "url": "https://api.github.com/users/acka47",
  "name": "Adrian Pohl",
  "company": "hbz",
  "blog": "http://www.uebertext.org"
}

14
JSON-LD-Kontext
15

{
  "@context":
   {
      "login": "http://xmlns.com/foaf/0.1/nick",
      "id": "http://purl.org/dc/terms/identifier",
      "url": 
      {
         "@id": "http://xmlns.com/foaf/0.1/page",
         "@type": "@id"
      },
      "name": "http://xmlns.com/foaf/0.1/name",
      "company": "http://www.w3.org/ns/org#memberOf",
      "blog":
      {
         "@id": "http://xmlns.com/foaf/0.1/weblog",
         "@type": "@id"
      },
}
Pohl: LOD-basierte Web-API am Beispiel von api.lobid.org
JSON-LD > Turtle
16

@prefix foaf: <http://xmlns.com/foaf/0.1/> .
[]
    <http://purl.org/dc/terms/identifier> 160292 ;
    <http://www.w3.org/ns/org#memberOf> "hbz" ;
    foaf:name "Adrian Pohl" ;
    foaf:nick "acka47" ;
    foaf:page <https://api.github.com/users/acka47> ;
    foaf:weblog <http://www.uebertext.org> .

Pohl: LOD-basierte Web-API am Beispiel von api.lobid.org
JSON-LD > Turtle
17

@prefix foaf: <http://xmlns.com/foaf/0.1/> .
Keine URI

[]
    <http://purl.org/dc/terms/identifier> 160292 ;
    <http://www.w3.org/ns/org#memberOf> "hbz" ;
    foaf:name "Adrian Pohl" ;
    foaf:nick "acka47" ;
    foaf:page <https://api.github.com/users/acka47> ;
    foaf:weblog <http://www.uebertext.org> .

Pohl: LOD-basierte Web-API am Beispiel von api.lobid.org
API + JSON-LD = Linked Data
18

JSON-LD: RDF in JSON serialisieren
Web-Entwickler können damit sofort etwas
anfangen
Bestehende Daten können relativ einfach in Linked
Data überführt werden:
URIs prägen, z.B. https://api.github.com/users/acka47#thing
JSON-LD-Kontext ergänzen

Vorteil: JSON-LD-Kontext ermöglicht Abstraktion von
konkreter RDF-Modellierung
Pohl: LOD-basierte Web-API am Beispiel von api.lobid.org
4. lobid-API

19
lobid.org
20

lobid.org: LOD-Dienst des hbz, seit 2010 (’linking
open bibliographic data’)
Titeldaten (lobid-resources), Normdaten
(lobid-organisations)
Verschiedene Probleme und neue Anforderungen
(z.B. Auto-Suggest für Normdaten) → Entwicklung
eines neuen Backends

Pohl: LOD-basierte Web-API am Beispiel von api.lobid.org
API anstatt und Triple Store
21

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ängig von Implementierung! API als
stabile Abstraktion über Daten!

Pohl: LOD-basierte Web-API am Beispiel von api.lobid.org
API-Anfragen
22

GET /resource?id=0940450003
GET /resource?name=Faust
GET /organisation?id=DE­832
GET /organisation?name=fachhochschule+köln
GET /person?id=118580604
GET /person?name=loki+schmidt
GET /resource?author=118580604
GET /resource?subject=4414195­6 

Pohl: LOD-basierte Web-API am Beispiel von api.lobid.org
API-Antworten
23

GET /person?name=Loki+Schmidt&format=full
[{
  "@id": "http://d­nb.info/gnd/118836617",
  "gnd:preferredNameForThePerson": "Schmidt, Hannelore",
  "gnd:variantNameForThePerson“: [
        "Glaser, Hannelore",
        "Schmidt, Loki"
  ],
  "gnd:dateOfBirth" : ”1919”,
  "gnd:dateOfDeath": ”2010”,
...
}]

Pohl: LOD-basierte Web-API am Beispiel von api.lobid.org
Implementierung I
24

Was rauskommt: JSON-LD über HTTP sowie auch
andere RDF-Serialisierungen
Hinter API andere Implementierungen denkbar,
auch z.B. mit Triple Store

Pohl: LOD-basierte Web-API am Beispiel von api.lobid.org
Implementierung II
25

Pohl: LOD-basierte Web-API am Beispiel von api.lobid.org
Live-Demonstration
26

http://api.lobid.org

Pohl: LOD-basierte Web-API am Beispiel von api.lobid.org
Nutzung der API
27

Edoweb3 (hbz-Projekt zur Archivierung
elektronischer Dokumente und Websites)
Evtl. openbiblio-Jobs, LIFE (UB Münster)
2014: Aufbau des NWBib-Auftritts auf Basis der
lobid-API

Pohl: LOD-basierte Web-API am Beispiel von api.lobid.org
Danke.
Fragen?
Gerne jetzt oder auch später an
semweb@hbz-nrw.de oder @lobidOrg.

28
Weiterführende Informationen
29

JSON-LD: http://json-ld.org/
hbz-LOD-blog: https://wiki1.hbz-nrw.de/pages/viewrecentblogposts.action?key=SEM
lobid-API-Dokumentation: http://api.lobid.org
lobid-Code & Issues: https://github.com/lobid/
Adrian Pohl: Sharing context – publishing application profiles with JSON-LD (Blogbeitrag):
https://wiki1.hbz-nrw.de/x/qZCW

Pohl: LOD-basierte Web-API am Beispiel von api.lobid.org
Lizenz
30

Diese Folien stehen unter einer
Creative-Commons-Lizenz:
http://creativecommons.org/licenses/by/3.0/de/

Pohl: LOD-basierte Web-API am Beispiel von api.lobid.org

Weitere ähnliche Inhalte

Ähnlich wie Aufbau einer LOD- basierten Web-API am Beispiel von api.lobid.org

Magdeburg | 2010-07-12 | Einführung in das Semantic Web
Magdeburg | 2010-07-12 | Einführung in das Semantic WebMagdeburg | 2010-07-12 | Einführung in das Semantic Web
Magdeburg | 2010-07-12 | Einführung in das Semantic WebWebmontag
 
2013-10-10 Semantic Web und (Linked) Open Data
2013-10-10 Semantic Web und (Linked) Open Data2013-10-10 Semantic Web und (Linked) Open Data
2013-10-10 Semantic Web und (Linked) Open Datakostaedt
 
Semantic Web in Bibliotheken mal praktisch
Semantic Web in Bibliotheken mal praktischSemantic Web in Bibliotheken mal praktisch
Semantic Web in Bibliotheken mal praktischkostaedt
 
Semantische Annotationen mit Plone
Semantische Annotationen mit PloneSemantische Annotationen mit Plone
Semantische Annotationen mit PloneHendrik Bunke
 
16. DINI-Jahrestagung: Linked Data und Repositorien
16. DINI-Jahrestagung: Linked Data und Repositorien16. DINI-Jahrestagung: Linked Data und Repositorien
16. DINI-Jahrestagung: Linked Data und RepositorienPascal-Nicolas Becker
 
Linked Open Projects (DGI-Konferenz)
Linked Open Projects (DGI-Konferenz)Linked Open Projects (DGI-Konferenz)
Linked Open Projects (DGI-Konferenz)Kai Eckert
 
Linked Open Data - Eine Perspektive für die Bibliothekswelt?
Linked Open Data - Eine Perspektive für die Bibliothekswelt?Linked Open Data - Eine Perspektive für die Bibliothekswelt?
Linked Open Data - Eine Perspektive für die Bibliothekswelt?Felix Ostrowski
 
Bdk fachforum (gpec) big data und intelligente datenanalyse
Bdk fachforum (gpec)   big data und intelligente datenanalyseBdk fachforum (gpec)   big data und intelligente datenanalyse
Bdk fachforum (gpec) big data und intelligente datenanalyseAI4BD GmbH
 
Semantic technologies
Semantic technologiesSemantic technologies
Semantic technologiesuniverse543
 
Der Bibliothekskatalog 3.0 oder: Bibliografische Daten als Linked Open Data
Der Bibliothekskatalog 3.0 oder: Bibliografische Daten als Linked Open DataDer Bibliothekskatalog 3.0 oder: Bibliografische Daten als Linked Open Data
Der Bibliothekskatalog 3.0 oder: Bibliografische Daten als Linked Open DataAnne Christensen
 
10 Jahre E-LIB Bremen – Erfahrungen beim Betrieb eines etwas anderen Kataloges
10 Jahre E-LIB Bremen – Erfahrungen beim Betrieb eines etwas anderen Kataloges10 Jahre E-LIB Bremen – Erfahrungen beim Betrieb eines etwas anderen Kataloges
10 Jahre E-LIB Bremen – Erfahrungen beim Betrieb eines etwas anderen KatalogesMartin Blenkle
 
Die Bibliographic Ontology als Nachfolger bibliographischer Datenformate?
Die Bibliographic Ontology als Nachfolger bibliographischer Datenformate?Die Bibliographic Ontology als Nachfolger bibliographischer Datenformate?
Die Bibliographic Ontology als Nachfolger bibliographischer Datenformate?Jakob .
 
Morphia, Spring Data & Co
Morphia, Spring Data & CoMorphia, Spring Data & Co
Morphia, Spring Data & CoTobias Trelle
 
Linked Open Projects
Linked Open ProjectsLinked Open Projects
Linked Open ProjectsKai Eckert
 
Presenattion at Salzburg University
Presenattion at Salzburg UniversityPresenattion at Salzburg University
Presenattion at Salzburg UniversityKiwi Community
 
Linked data und digitalisierungsprojekte
Linked data und digitalisierungsprojekteLinked data und digitalisierungsprojekte
Linked data und digitalisierungsprojekteCarsten Klee
 
1114 sasaki-metadata
1114 sasaki-metadata1114 sasaki-metadata
1114 sasaki-metadataFelix Sasaki
 
Bibliographieren 2.0 - Workshop für BibliothekarInnen an der FU Berlin
Bibliographieren 2.0 - Workshop für BibliothekarInnen an der FU BerlinBibliographieren 2.0 - Workshop für BibliothekarInnen an der FU Berlin
Bibliographieren 2.0 - Workshop für BibliothekarInnen an der FU BerlinTIB Hannover
 
Resource Discovery: Herausforderung und Chance für die Sacherschließung
Resource Discovery:  Herausforderung und Chance für die SacherschließungResource Discovery:  Herausforderung und Chance für die Sacherschließung
Resource Discovery: Herausforderung und Chance für die SacherschließungMagnus Pfeffer
 

Ähnlich wie Aufbau einer LOD- basierten Web-API am Beispiel von api.lobid.org (20)

Magdeburg | 2010-07-12 | Einführung in das Semantic Web
Magdeburg | 2010-07-12 | Einführung in das Semantic WebMagdeburg | 2010-07-12 | Einführung in das Semantic Web
Magdeburg | 2010-07-12 | Einführung in das Semantic Web
 
2013-10-10 Semantic Web und (Linked) Open Data
2013-10-10 Semantic Web und (Linked) Open Data2013-10-10 Semantic Web und (Linked) Open Data
2013-10-10 Semantic Web und (Linked) Open Data
 
Semantic Web in Bibliotheken mal praktisch
Semantic Web in Bibliotheken mal praktischSemantic Web in Bibliotheken mal praktisch
Semantic Web in Bibliotheken mal praktisch
 
Semantische Annotationen mit Plone
Semantische Annotationen mit PloneSemantische Annotationen mit Plone
Semantische Annotationen mit Plone
 
16. DINI-Jahrestagung: Linked Data und Repositorien
16. DINI-Jahrestagung: Linked Data und Repositorien16. DINI-Jahrestagung: Linked Data und Repositorien
16. DINI-Jahrestagung: Linked Data und Repositorien
 
Linked Open Projects (DGI-Konferenz)
Linked Open Projects (DGI-Konferenz)Linked Open Projects (DGI-Konferenz)
Linked Open Projects (DGI-Konferenz)
 
Linked Open Data - Eine Perspektive für die Bibliothekswelt?
Linked Open Data - Eine Perspektive für die Bibliothekswelt?Linked Open Data - Eine Perspektive für die Bibliothekswelt?
Linked Open Data - Eine Perspektive für die Bibliothekswelt?
 
Bdk fachforum (gpec) big data und intelligente datenanalyse
Bdk fachforum (gpec)   big data und intelligente datenanalyseBdk fachforum (gpec)   big data und intelligente datenanalyse
Bdk fachforum (gpec) big data und intelligente datenanalyse
 
Semantic technologies
Semantic technologiesSemantic technologies
Semantic technologies
 
Der Bibliothekskatalog 3.0 oder: Bibliografische Daten als Linked Open Data
Der Bibliothekskatalog 3.0 oder: Bibliografische Daten als Linked Open DataDer Bibliothekskatalog 3.0 oder: Bibliografische Daten als Linked Open Data
Der Bibliothekskatalog 3.0 oder: Bibliografische Daten als Linked Open Data
 
10 Jahre E-LIB Bremen – Erfahrungen beim Betrieb eines etwas anderen Kataloges
10 Jahre E-LIB Bremen – Erfahrungen beim Betrieb eines etwas anderen Kataloges10 Jahre E-LIB Bremen – Erfahrungen beim Betrieb eines etwas anderen Kataloges
10 Jahre E-LIB Bremen – Erfahrungen beim Betrieb eines etwas anderen Kataloges
 
Die Bibliographic Ontology als Nachfolger bibliographischer Datenformate?
Die Bibliographic Ontology als Nachfolger bibliographischer Datenformate?Die Bibliographic Ontology als Nachfolger bibliographischer Datenformate?
Die Bibliographic Ontology als Nachfolger bibliographischer Datenformate?
 
Bibliothekartag2009
Bibliothekartag2009Bibliothekartag2009
Bibliothekartag2009
 
Morphia, Spring Data & Co
Morphia, Spring Data & CoMorphia, Spring Data & Co
Morphia, Spring Data & Co
 
Linked Open Projects
Linked Open ProjectsLinked Open Projects
Linked Open Projects
 
Presenattion at Salzburg University
Presenattion at Salzburg UniversityPresenattion at Salzburg University
Presenattion at Salzburg University
 
Linked data und digitalisierungsprojekte
Linked data und digitalisierungsprojekteLinked data und digitalisierungsprojekte
Linked data und digitalisierungsprojekte
 
1114 sasaki-metadata
1114 sasaki-metadata1114 sasaki-metadata
1114 sasaki-metadata
 
Bibliographieren 2.0 - Workshop für BibliothekarInnen an der FU Berlin
Bibliographieren 2.0 - Workshop für BibliothekarInnen an der FU BerlinBibliographieren 2.0 - Workshop für BibliothekarInnen an der FU Berlin
Bibliographieren 2.0 - Workshop für BibliothekarInnen an der FU Berlin
 
Resource Discovery: Herausforderung und Chance für die Sacherschließung
Resource Discovery:  Herausforderung und Chance für die SacherschließungResource Discovery:  Herausforderung und Chance für die Sacherschließung
Resource Discovery: Herausforderung und Chance für die Sacherschließung
 

Aufbau einer LOD- basierten Web-API am Beispiel von api.lobid.org