SPARQL

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

SPARQL ist eine graph-basierte Abfragesprache für RDF. Der Name ist ein rekursives Akronym für SPARQL Protocol And RDF Query Language.

Die RDF Data Access Working Group (DAWG) des World Wide Web Consortium trieb die Entwicklung und Standardisierung von SPARQL voran. Im April 2006 wurde SPARQL als Candidate Recommendation anerkannt, im Oktober 2006 ist es jedoch wieder zum Working Draft zurückgestuft worden. Seit Juni 2007 lag SPARQL erneut als Candidate Recommendation des W3C vor. Am 15. Januar 2008 wurde SPARQL endgültig vom W3C als Recommendation freigegeben[1]. Seit dem 21 März 2013 ist die W3c Recommendation für SPARQL 1.1 veröffentlicht wurden[2]. SPARQL ist der Nachfolger mehrerer Abfragesprachen (z. B. RDF Query Language, RDQL), die ebenfalls auf RDF-Daten zugreifen.

Ein Beispiel[Bearbeiten]

Die Anfrage im folgenden Beispiel findet die Namen aller afrikanischen Hauptstädte und das Land, in dem sich die jeweilige Hauptstadt befindet.

  PREFIX abc: <http://example.com/exampleOntology#>
  SELECT ?capital ?country
  WHERE {
    ?x abc:cityname ?capital ;
       abc:isCapitalOf ?y .
    ?y abc:countryname ?country ;
       abc:isInContinent abc:Africa .
  }

Variablen werden mit vorangestelltem „?“ gekennzeichnet (möglich ist alternativ auch „$“). Als Ergebnis der Anfrage im obigen Beispiel werden alle Variablenbelegungen für „?capital“ und „?country“ zurückgegeben, welche die vier definierten RDF-Tripel erfüllen.

Weil das Ausschreiben der URIs die Leserlichkeit einer Abfrage mindert, können Präfixe verwendet werden. Hier steht ein „abc:“ für „http://example.com/exampleOntology#“

Anfrage-Engines[Bearbeiten]

  • ARQ – Anfrage-Engine innerhalb des Jena Semantic Web Framework
  • Joseki – Erweitert ARQ um einen SPARQL-Endpoint für den Remote-Zugriff
  • D2R Server – Wrapper für relationale Datenbanken und stellt die darin enthaltenen Daten über einen SPARQL-Endpoint zur Verfügung
  • ARC – Anfrage-Engine für PHP
  • DARQ – Erweitert ARQ und unterstützt verteilte Anfragen an verschiedene Datenquellen
  • Erfurt – Anfrage-Engine für PHP (wird innerhalb von OntoWiki genutzt)
  • Tracker – RDF-Datenbank für Desktopanwendungen und mobile Geräte
  • DB2 – Seit Version 10 unterstützt IBM DB2 SPARQL sowie die effiziente Speicherung von RDF Graphen[3]
  • LuposDate – Open Source (Java) Anfrage-Engine für SPARQL und RIF erhältlich bei Github[4] und Als Web-Applet[5], entwickelt an der Universität zu Lübeck.
  • Virtuoso (Virtuoso Universal Server) – Hybrid-Datenbanksystem, wird bspw. bei DBpedia eingesetzt

Literatur[Bearbeiten]

  • Bob DuCharme: Learning SPARQL. Querying and Updating with SPARQL 1.1. O'Reilly Media, 2. Auflage 2013, ISBN 9781449371432
  • Sanja Jahnke: SPARQLuS:DR- Konzeption und Implementierung eines DESCRIBE-Operators für RDF. GRIN Verlag, 2008, ISBN 9783638952392

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. SPARQL Query Language for RDF. World Wide Web Consortium (W3C). 15. Januar 2008. Abgerufen am 29. März 2014.
  2. SPARQL 1.1 Overview. World Wide Web Consortium (W3C). 21. März 2013. Abgerufen am 29. März 2014.
  3. NoSQL Graph Store (PDF; 585 kB) 27. April 2012
  4. Github - LuposDate 11. Juli 2012
  5. LuposDate Demo-Applet 11. Juli 2012