Organisatorisches: Inhalt. Agenda. Die Abfragesprache SPARQL

Ähnliche Dokumente
Semantic Web Grundlagen

Organisatorisches: Inhalt. Ontology Engineering. Agenda

Semantik von SPARQL. Foliensatz: Markus Krötzsch, Sebastian Rudolph. Webbasierte Informationssysteme 15. November 2010

Semantic Web Grundlagen

RDF(S) & Datalog Regeln 10. Nov SPARQL Implemetierung 19. Jan. OWL Syntax & Intuition 14. Nov Ontology Editing 23. Jan

Organisatorisches: Inhalt. RDF Schema. Agenda

Organisatorisches: Inhalt. Die Abfragesprache SPARQL. Agenda

Organisatorisches: Inhalt. Agenda. Die Abfragesprache SPARQL. Einleitung und Motivation Row Stores Optimierungen. Column Stores Andere Lösungen

Semantic Web Grundlagen

Semantic Web Grundlagen

Semantic Web Grundlagen

Semantic Web Grundlagen

XML-Technologien Tutorium 6

Übersicht der wichtigsten MySQL-Befehle

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

Semantic Web Grundlagen

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)

Semantic Web Grundlagen

Semantic Web Grundlagen

Linked Open Data & Bibliotheken Warum? Was? Wie? FIS Fachtagung, Frankfurt/Main 22. Mai 2012 Adrian Pohl

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski.

Semantic Web Grundlagen

[ SQL] Wissen, das sich auszahlt

Evaluation verschiedener Triple-Stores zum Speichern von Metadaten im Kontext des Forschungsdatenmanagements

RDF und SPARQL. Kursfolien. Karin Haenelt

SODA. Die Datenbank als Document Store. Rainer Willems. Master Principal Sales Consultant Oracle Deutschland B.V. & Co. KG

Linked Data Grundlagen Einführung ins Data Web

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle

SQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis.

Semantic Web & TYPO3. Netresearch GmbH & Co. KG -

Verknüpfte Daten abfragen mit SPARQL. Thomas Tikwinski, W3C.DE/AT

Martin Unold IDARIT. Interdisziplinäre Anwendungen Raumbezogener Informationstechnik. Interdisziplinäre Anwendungen Raumbezogener Informationstechnik

Semantic Web Grundlagen

Wiederholung VU Datenmodellierung

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language)

Tim Software-Architekt und Entwickler bei.

Semantic Web Grundlagen

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.

<is web> Information Systems & Semantic Web University of Koblenz Landau, Germany

Entwicklung eines Tutorials für XQuery

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL

Abfragen (Queries, Subqueries)

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion

Datenbanken und Semantic Web

Einführung in das Forschungsinformationssystem VIVO Hands-On-Lab auf dem 6. Deutschen Bibliothekartag

Semantic Technologies

Linked Open Data. in Mittwoch, 21. November 2012 Potsdam

Daniel Warner SQL. Das Praxisbuch. Mit 119 Abbildungen. Franzis

Organisatorisches: Inhalt. Agenda. Semantic Web Applications

Architektur von REST basierten Webservices

Wiederholung VU Datenmodellierung

SQL Data Manipulation Language (DML) und Query Language (QL)

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

SQL als Zugriffssprache

Agenda. Vorstellung der Dozentin. Vorstellung der Dozentin. Vorstellung der Dozentin Organisatorisches zur Vorlesung Was ist das Semantic Web?

a) Vergleiche HTML und XML. (3 Punkte)

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

Inhaltsverzeichnis. Einleitung

Was fehlt den semantischen Netzen?

Welche Kunden haben die gleiche Ware bestellt? select distinct a1.name, a2.name from Auftrag a1, Auftrag a2 where a1.ware = a2.ware.

Ausblick über den Tellerrand

Oracle SQL. Seminarunterlage. Version vom

Georg-Simon-Ohm Hochschule Nürnberg. Semantic Web Thomas Pospech

1. Einführung 2. DTD 3. XML Schema 4. XPath 5. XSLT 6. XSL-FO 7. XQuery 8. Web Services 9. XML und Datenbanken

Aggregatfunktionen in SQL

Entwicklung einer REST-API zur Erstellung und Konfiguration von Microsoft Teams. Jan Kruse, utilitas GmbH

rdf2wp - Publikation von Daten als RDF mittels WordPress-Blogs

AutoSPARQL. Let Users Query Your Knowledge Base

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

REST Services To-Go Einfacher Einstieg in die REST Programmierung

ACCESS SQL ACCESS SQL

Praktische SQL-Befehle 2

RESTful API design. Warum REST mehr als HTTP mit XML ist. Dr. Stefan Schlott BeOne Stuttgart GmbH

Praktische SQL-Befehle

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick Parameterübergabe...

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

Zusammenfassung. Vorlesung Webbasierte Informationssysteme (CS4130) Zusammenfassung

RDF. Resource Description Framework. RDF - Konzepte - Tripel. RDF - Konzepte - Graph. Information Retrieval - Semantic Technologies

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

Semantic Web: RDF und N-Tripel

Kapitel 6. Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle)

dbis Praktikum DBS I SQL Teil 2

Organisatorisches: Inhalt OWL 2. Agenda

CADSTAR MRP-Link. MRP-Link ist erstellt von:

Semantic Web Technologies I Lehrveranstaltung im WS09/10

Informatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7

RDF & OWL. Praktikum Softwaretechnologie für die Ressourcenlinguistik. Johannes Hellrich & Erik Fäßler SS FSU Jena

Backend. Hochschule Darmstadt, Fachbereich Informatik, Wintersemester 2016/2017. Christopher Dörge, Thomas Sauer, David Müller

Einführung in Linked Open Data

Gliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung

Aufgabe 1 (RDF(S) Syntax und Semantik)

Einsatz von Semantic Web Technologien in der Industrie 4.0

Programminhalte extrahieren und modifizieren mit SAS. Katja Glaß

Data Cubes PG Wissensmangement Seminarphase

Transkript:

2/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 Birte Glimm Institut für Künstliche Intelligenz 22. Dez 2011 Semantic Web Grundlagen SPARQL 1.1 Organisatorisches: Inhalt Einleitung und XML 17. Okt Hypertableau II 12. Dez Einführung in RDF 20. Okt Übung 4 15. Dez RDF Schema 24. Okt SPARQL Syntax & Intuition 19. Dez fällt aus 27. Okt SPARQL Semantik 22. Dez Logik Grundlagen 31. Okt SPARQL 1.1 9. Jan Übung 1 3. Nov Übung 5 12. Jan Semantik von RDF(S) 7. Nov SPARQL Entailment 16. Jan RDF(S) & Datalog Regeln 10. Nov SPARQL Implemetierung 19. Jan OWL Syntax & Intuition 14. Nov Ontology Editing 23. Jan Übung 2 17. Nov Übung 6 26. Jan OWL & BLs 21. Nov Ontology Engineering 30. Jan OWL 2 24. Nov Linked Data 2. Feb Tableau 28. Nov SemWeb Anwendungen 6. Feb Übung 3 1. Dez Übung 7 9. Feb Blocking & Unravelling 5. Dez Wiederholung 13. Feb Hypertableau 8. Dez Übung 8 16. Feb Abfragen und RIF wurde gestrichen 3/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 4/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 Die Abfragesprache SPARQL Wiederholung SPARQL 1.1 Abfrage Erweiterung SPARQL Protokoll SPARQL Update Service Descriptions

5/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 6/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 Beispielmuster {?book ex:price?price FILTER (?price < 15) OPTIONAL {?book ex:title?title {?book ex:author ex:shakespeare UNION {?book ex:author ex:marlowe Teile der SPARQL Abfrage Grammatik GroupGraphPattern ::= { TriplesBlock? ( ( GraphPatternNotTriples Filter ).? TriplesBlock? )* GraphPatternNotTriples ::= OptionalGraphPattern GroupOrUnionGraphPattern GraphGraphPattern OptionalGraphPattern ::= OPTIONAL GroupGraphPattern GraphGraphPattern ::= GRAPH VarOrIRIref GroupGraphPattern GroupOrUnionGraphPattern ::= GroupGraphPattern ( UNION GroupGraphPattern )* Filter ::= FILTER Constraint 7/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 8/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 Entsprechung des Musters zur Grammatik {?book ex:price?price FILTER (?price < 15) OPTIONAL {?book ex:title?title {?book ex:author ex:shakespeare UNION {?book ex:author ex:marlowe { TriplesBlock Filter OPTIONAL { TriplesBlock { TriplesBlock UNION { TriplesBlock { TriplesBlock Filter OptionalGraphPattern GroupOrUnionGraphPattern GroupGraphPattern Transformation von GroupGraphPattern Algorithm 1 algbrgroupgp(g) Eingabe: ein GroupGraphPattern G = (e 1,..., e n ) Ausgabe: ein SPARQL-Algebra Ausdruck A 1: A := Z { das leere Muster 2: F := { Filter 3: for i = 1,..., n do 4: if e i ist FILTER( f ) then 5: F := F {f 6: else if e i ist OPTIONAL { P then 7: if algbr(p) ist Filter(F, A ) then 8: A := LeftJoin(A, A, F ) 9: else 10: A := LeftJoin(A, algbr(p), true) 11: else 12: A := Join(A, algbr(e i )) 13: if F then 14: A := Filter( f F f, A) 15: return A

9/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 10/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 Übersetzung in SPARQL-Algebra Filter(?price < 15, Join( LeftJoin(Join( Z, Bgp(?book <http://eg.org/price>?price)), Bgp(?book <http://eg.org/title>?title), true), Union(Bgp(?book <http://eg.org/author> <http://eg.org/shakespeare>), Bgp(?book <http://eg.org/author> <http://eg.org/marlowe>)))) Vereinfachung der SPARQL-Algebra Filter(?price < 15, Join( LeftJoin(Bgp(?book <http://eg.org/price>?price), Bgp(?book <http://eg.org/title>?title), true), Union(Bgp(?book <http://eg.org/author> <http://eg.org/shakespeare>), Bgp(?book <http://eg.org/author> <http://eg.org/marlowe>)))) 11/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 12/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 Bedeutung der SPARQL Algebra Operationen Bgp(P) Auswertung des Musters P Join(A 1, A 2 ) Konjunktive Verknüpfung der Ergebnisse von A 1 und A 2 Union(A 1, A 2 ) Vereinigung der Ergebnisse von A 1 und A 2 LeftJoin(A 1, A 2, F) Optionale Verknüpfung der Ergebnisse von A 1 und A 2 mit Filterbedingung F (true wenn kein Filter gegeben) Filter(F, A) Filterung der Ergebnisse von A auf Bedingung F Z Konstante füre leeren Ausdruck Graph(varOrIRI, A) Auswertung von A über dem Graphen IRI bzw. über allen benannten Graphen Wiederholung SPARQL 1.1 Abfrage Erweiterung SPARQL Protokoll SPARQL Update Service Descriptions

13/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 14/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 Lösungen können durch berechnete Ausdrücke ergänzt werden, wobei eine Zuweisung durch (Ausdruck AS?var) erfolgt: BIND innerhalb einer Gruppe eines Abfragemusters Ausdrücke in der SELECT Klausel Ausdrücke in der GROUP BY Klausel BINDINGS fügt Lösungen zu den berechneten Lösungen hinzu Beispiel BIND (ohne Präfix Deklaration) ex:buch ex:titel "SPARQL Tutorial" ; ex:preis 42 ; ex:rabatt 10. Abfrage SELECT?titel?preis WHERE {?b ex:titel?titel; ex:preis?p ; ex:rabatt?r BIND ((?p-?r) AS?preis) Ergebnis?titel "SPARQL Tutorial",?preis 32 Algebra: Extend(Bgp(...),?preis, (?p-?r)) 15/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 16/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 Beispiel Ausdrücke (ohne Präfix Deklaration) ex:buch ex:titel "SPARQL Tutorial" ; ex:preis 42 ; ex:rabatt 10. Abfrage SELECT?titel ((?p-?r) AS?preis) WHERE {?b ex:titel?titel; ex:preis?p ; ex:rabatt?r Ergebnis?titel "SPARQL Tutorial",?preis 32 Algebra: Extend(Bgp(...),?preis, (?p-?r)) Beispiel BINDINGS ex:buch1 ex:titel "SPARQL Tutorial". ex:buch2 ex:titel "SemWeb". Abfrage SELECT?titel WHERE {?b ex:titel?titel BINDINGS?b { (ex:buch1) Ergebnis?titel "SPARQL Tutorial" Bindungen werden konjunktiv (join) verknüpft

17/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 18/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 Wiederholung SPARQL 1.1 Abfrage Erweiterung SPARQL Protokoll SPARQL Update Service Descriptions erlauben die Gruppierung von Lösungen und Berechnung von Werten über die Gruppen Beispiel SELECT (COUNT(?student) AS?c),?vorlesung WHERE {?student ex:besucht?vorlesung GROUP BY?vorlesung HAVING?c > 5 GROUP BY gruppiert die Lösungen (hier in Studenten die die gleiche Vorlesung besuchen) COUNT ist ein Aggregat, welches die Anzahl der Lösungen in einer Gruppe zählt (hier die Anzahl der Studenten in der jeweiligen Vorlesung) HAVING beschränkt aggregierte Werte 19/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 20/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 in SPARQL 1.1 SPARQL 1.1 unterstützt die folgenden, die jeweils über den Werten einer Gruppe ausgewertet werden: COUNT Zählen der Lösungen MIN Finden des Minimalwerts MAX Finden des Maximalwerts SUM Summieren der Werte AVG Bilden des Durchschnitts GROUP_CONCAT Stringkonkatenation, Bsp.: GROUP_CONCAT(?x ; separator=", ") SAMPLE Wählen eines beliebigen Wertes Beispiel ex:paul ex:hatnote 2.0. ex:paul ex:hatnote 3.0. ex:mary ex:hatnote 2.0. ex:peter ex:hatnote 3.5. SELECT?student (AVG(?note) as?avg) WHERE {?student ex:hatnote?note GROUP BY?student HAVING (?avg > 2.0)

21/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 22/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 Wiederholung SPARQL 1.1 Abfrage Erweiterung SPARQL Protokoll SPARQL Update Service Descriptions Abfrage SELECT?name WHERE {?x foaf:name?name. { SELECT?x (COUNT(*) AS?count) WHERE {?x foaf:knows?y. GROUP BY?x HAVING (?count = 3) Ergebnisse der inneren Abfrage werden kunjunktiv (join) mit den Ergebnissen der äußeren Abfrage verknüpft 23/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 24/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 Wiederholung SPARQL 1.1 Abfrage Erweiterung SPARQL Protokoll SPARQL Update Service Descriptions Reguläre Ausdrücke in Mustern werden mittels regulärer Ausdrücke über Prädikaten gebildet Pfade bestimmter Länge:?s ex:p {2, 4?o Pfade mit unbestimmter Länge:?s ex:p +?o,?s ex:p *?o Alternative Pfade:?s (ex:p 1 ex:p 2 )?o von Pfaden:?s!ex:p?o Inverse Pfade:?s ˆex:p?o entspricht?o ex:p?s Verknüpfung von Pfaden:?s ex:p 1 / ex:p 2?o

25/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 26/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 Property Pfade Beispiel Abfrage 1 PREFIX... SELECT?xName WHERE {?x rdf:type foaf:person.?x foaf:name?xname?x foaf:knows{2/foaf:name "Bill Gates". Abfrage 2 PREFIX... SELECT?s WHERE {?s rdf:type?type.?type rdfs:subclassof* ex:someclass. Property Pfade Definition Definition (Property Pfade) Jede IRI ist ein Property Pfad. Seien I 1,..., I l IRIs mit 1 k l, dann ist!(i 1... I k ˆI k+1... ˆI l ) ein Property Pfad. Seien P, P 1 und P 2 Property Pfade und seien n, m IN 0 natürliche Zahlen mit m > n, dann sind ˆP, P?, P*, P+, Property Pfade. P{n, P{n, m, P{n,, P{, m, P1 P 2 und P 1 / P 2 27/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 28/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 Property Pfade Algebra Property Pfade werden, soweit möglich, in bestehende SPARQL Konstrukte übersetzt Es sind aber auch vier neue Operatoren nötig 1. NegatedPropertySet(X, {iri 1... iri n,y) 2. ZeroOrMorePath(X, path, Y) 3. OneOrMorePath(X, path, Y) 4. ZeroLengthPath(X, path, Y) Wiederholung SPARQL 1.1 Abfrage Erweiterung SPARQL Protokoll SPARQL Update Service Descriptions

29/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 30/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 in Abfragen Zwei Formen der mit konzeptuellen und kleinen semantischen unterschieden 1. Testen auf Nicht-Erfüllung eines Musters 2. Entfernung von Lösungen die ein Muster erfüllen 1. Filter SELECT?x WHERE {?x rdf:type foaf:person. FILTER NOT EXISTS {?x foaf:name?name 2. Minus SELECT?x WHERE {?x rdf:type foaf:person. MINUS {?x foaf:name?name Auswertung via Filter _:x rdf:type foaf:person. _:x foaf:name "Peter". _:y rdf:type foaf:person. Abfrage Muster {?x rdf:type foaf:person. FILTER NOT EXISTS {?x foaf:name?name 1. Bgp(1. Muster) G : µ 1 :?x _ :x, µ 2 :?x _ :y 2. Für jede Lösung, instanziiere das 2. Muster Lösung wird entfernt, wenn die Instanziierung matched (µ1 ) sonst bleibt die Lösung (µ 2 ) 31/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 32/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 Auswertung via Minus _:x rdf:type foaf:person. _:x foaf:name "Peter". _:y rdf:type foaf:person. Abfrage Muster {?x rdf:type foaf:person. MINUS {?x foaf:name?name Bgp(1. Muster) G : Ω 1 = {µ 1 :?x _ :x, µ 2 :?x _ :y Bgp(2. Muster) G : Ω 2 = {µ 3 :?x _ :x,?name "Peter" Minus(Ω 1, Ω 2 ) G : Ω = {µ µ Ω 1 und µ Ω 2 µ und µ sind inkompatibel oder dom(µ) dom(µ ) = µ 1 / Ω: µ 1 kompatibel mit µ 3 und nicht-disjunkte Domänen µ 2 Ω: µ 2 inkompatibel mit µ 3 Unterschiede Minus und Filter ex:a ex:b ex:c. Abfrage Muster {?s?p?o FILTER NOT EXISTS {?x?y?z Filter Muster matched immer (Variablen disjunkt) jede Lösung wird entfernt Abfrage Muster {?s?p?o MINUS {?x?y?z Minus entfernt keine Lösungen, da Domänen aller Lösungen disjunkt

33/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 34/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 Wiederholung SPARQL 1.1 Abfrage Erweiterung Ausdrücke in der Selektion Bindungen SPARQL Protokoll SPARQL Update Service Descriptions SPARQL Protokoll Regelt wie Abfragen an einen SPARQL Endpunkt im Web geschickt werden können und wie Resultate zurückgegeben werden Regelt wie Fehler kommuniziert werden Query GET Anfrage etc. Teil der URI: http://server/endpoint1?query=... POST Anfrage im Body der HTTP Anfrage z.b. via HTML Form Update http://server/endpoint2?update=... POST mit Content-Type application/sparql-update POST via HTML Form Query und Update sind separate Services 35/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 36/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 Graph Store HTTP Protokoll RESTful Graph Management REST Eigenschaften Adressierbarkeit Unterschiedliche Repräsentationen (verschiedene Darstellungsformen für eine Ressource z.b. HTML, JSON) Zustandslosigkeit (Anfrage enthält alle benötigeten Informationen) Anbieten von bestimmten Operationen für alle Ressourcen (z.b. GET, POST, PUT und DELETE) Verwendung von Hypermedia (z.b. HTML, XML) Nutzung von GET, PUT, POST, DELETE zur Kommunikation von Änderungen Wiederholung SPARQL 1.1 Abfrage Erweiterung Ausdrücke in der Selektion Bindungen SPARQL Protokoll SPARQL Update Service Descriptions

37/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 38/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 SPARQL Update Zur Manipulation von Graphen Basieren auf der Idee eines Graph-Stores (Quads) Hinzufügen und Löschen von Graphen Hinzufügen und Löschen von Tripeln in Graphen LOAD, DROP, CREATE INSERT, DELETE für /Tripel Keine Transaktionen, eine Anfrage kann mehrere atomare Teilanfragen beinhalten Beispiel Abfrage DELETE {?person foaf:givenname "Bill" INSERT {?person foaf:givenname "William" WHERE {?person a foaf:person.?person foaf:givenname "Bill" Wiederholung SPARQL 1.1 Abfrage Erweiterung Ausdrücke in der Selektion Bindungen SPARQL Protokoll SPARQL Update Service Descriptions 39/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 40/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 Service Descriptions Methode und Vokabular zur Beschreibung von SPARQL Endpunkten Client/Benutzer kann Informationen über den SPARQL Service abfragen z.b. unterstütze Erweiterungsfunktionen, das verwendete Dataset oder welche Methoden zum automatischen Schlussfolgern verwendet werden Service Descriptions Beispiel HTTP Anfrage GET /sparql/ HTTP/1.1 Host: www.example.org Accept: text/turtle Mögliche Antwort (Beginn) HTTP/1.1 200 OK Date: Fri, 09 Oct 2009 17:31:12 GMT Server: Apache/1.3.29 (Unix) PHP/4.3.4 DAV/1.0.3 Connection: close Content-Type: text/turtle @prefix sd: <http://www.w3.org/ns/sparql-service-description#>. @prefix ent: <http://www.w3.org/ns/entailment/>. @prefix prof: <http://www.w3.org/ns/owl-profile/>. @prefix scovo: <http://purl.org/net/scovo#>. @prefix void: <http://rdfs.org/ns/void#>....

41/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 42/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 Service Descriptions Beispiel Mögliche Antwort (Fortsetzung)... [] a sd:service ; sd:endpoint <http://www.example.org/sparql/> ; sd:supportedlanguage sd:sparql11query ; sd:resultformat <http://www.w3.org/ns/formats/rdf_xml>, <http://www.w3.org/ns/formats/turtle> ; sd:extensionfunction <http://example.org/distance> ; sd:feature sd:dereferencesuris ; sd:defaultentailmentregime ent:rdfs ; sd:defaultdatasetdescription [ a sd:dataset ; sd:defaultgraph [ a sd:graph ; void:triples 100 ] ; sd:namedgraph [ a sd:namedgraph ; sd:name <http://www.example.org/named-graph> ; sd:entailmentregime ent:owl-rdf-based ; sd:supportedentailmentprofile prof:rl ; sd:graph [ a sd:graph ; void:triples 2000 ] ] ]. <http://example.org/distance> a sd:function. Zusammenfassung Wir haben die neuen Features von SPARQL 1.1 Query kennengelernt SPARQL 1.1 noch kein Standard (Last Call Phase) SPARQL UPDATE ermöglicht das Modifizieren von Graphen über Anfragen Das Protokoll regelt wie Client und Server kommunizieren können Service Descriptions beschreiben einen SPARQL Service (maschinenlesbar) Nicht betrachtet: Weitere Ergebnisformate: JSON, CVS, TSV Ausblick: Entailment Regimes: SPARQL mit automatischen Schlussfolgern 43/43 Birte Glimm Semantic Web Grundlagen 22. Dez 2011 Öffentliche SPARQL Endpunkte DBPedia strukturierte Wikipedia (> 100 Million Tripel): http://dbpedia.org/sparql DBTune 14 Milliraden RDF Tripel über Musik http: //dbtune.org/jamendo/store/user/query CKAN Dataset Repository mit SPARQL Service http://semantic.ckan.net/ http://semantic.ckan.net/snorql/ Linked Movie Database http://data.linkedmdb.org/ und http://data.linkedmdb.org/sparql SPARQL Editor mit Beispielen zu Weltraum http://api.talis.com/stores/space/ items/tutorial/spared.html Semantic Web Dog Food Informationen über Autoren, Veröffentlichungen und Konferenzen http://data.semanticweb.org/snorql