34
Oxana Krieger Yuliya Grinshteyn 1 Institut für Informatik Betriebliche Informationssysteme RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Embed Size (px)

Citation preview

Page 1: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 1

Institut für InformatikBetriebliche Informationssysteme

RDF Query Languages

Oxana KriegerYuliya Grinshteyn

Page 2: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 2

RDF AnfragesprachenInstitut für InformatikBetriebliche Informationssysteme

1. SQL/OQL- basierte Sprachen RQL RDQL: praktische Anwendung von Anfragen SeRQL

2. Regelbasierte Sprachen Triple Versa N3

3. Vergleich von Anfragesprachen

Übersicht

Gliederung

Page 3: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 3

RDF AnfragesprachenInstitut für InformatikBetriebliche Informationssysteme

RDF Query Language (RQL)The First Declarative Language for uniformly querying RDF schemas and resource descriptions (Forth Institute of Computer Science)

Eigenschaften:• RQL basiert auf den Graphenmodell von RDF :

- bietet Eigenschaften für die Navigation auf dem Graph und Auswahl bestimmten Kanten und Knoten für weitere Abfragen.

• RQL folgt einer SQL / OQL-artigen Syntax :

- select-from-where Anfragen

SQL/OQL- basierte Anfragesprachen

Page 4: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 4

RDF AnfragesprachenInstitut für InformatikBetriebliche Informationssysteme

Supports von RQL• XML Schema Datentypen

- Filterung von wörtlichen Werten• RDF Schema :

- insbesondere die durch (subClassOf, subPropertyOf) definierten Relationen von Klassen und Properties

• Quantification iterators- EXISTS, FORALL

• Aggregatfunktionen (count …)- Extrahieren der Statistik

• Namespace Abkürzungsmechanismus- Bsp :using namespace

vCard = <http://www.w3.org/2001/vcard-rdf/3.0#>

RQL Sprachenübersicht

Page 5: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 5

RDF AnfragesprachenInstitut für InformatikBetriebliche InformationssystemeRQL Sprachenübersicht

Variablen• Variablen werden per Namen identifiziert

• Namen der Variablen : Var1, var_1 • Variablen von Prädikaten fangen mit dem Präfix @ an

-Beispiel: @p• Variable von schema classes fangen mit dem Präfix $ an

-Beispiel: $s

Operatoren• Logische Operatoren:

AND, OR, NOT• Vergleichsoperatoren:

<, <=,= , >= , >, !=

Page 6: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 6

RDF AnfragesprachenInstitut für InformatikBetriebliche InformationssystemeRQL Sprachenübersicht

Path expressions (Pfad-Ausdrücke) • werden in der „from“-Klausel verwendet

- RQL: from {X} @P {Y} • Knoten und Kanten können Variable, URIs du Literalen sein

- RQL: {PAINTER} cult:paints {PAINTING} • Ein Knoten kann leer sein, wenn sein Wert unwichtig ist

- RQL: {PAINTER} cult:paints . cult:technique {TECH}• Pfad-Ausdrücke können aus mehreren Trippeln bestehen:

{Person} foo:worksFor {Company}. rdf:type{foo:ITCompany}

foo:ITCompanyCompanyPersonfoo:worksFor rdf:type

Page 7: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 7

RDF AnfragesprachenInstitut für InformatikBetriebliche InformationssystemeRQL Sprachenübersicht

SELECT – FROM – WHERE Query• SELECT gibt an, welche Anfragevariablen in welcher Ordnung

im Anfrageergebnis ausgegeben werden sollen- „*“ werden alle Variablen ausgegeben, Ordnung kann

nicht bestimmt werden• FROM enthält Pfad-Ausdrücke, definiert Pfade im RDF-Graphen• WHERE ist optional, kann zusätzlich boolesche

Einschränkungen auf den Werten in den Pfad-Ausdrücken (from) enthalten

Beispielselect X, @P // X - Subjektfrom {X} @P {Y} // @P - Prädikatwhere Y like "Pablo" // Y - Objekt

Page 8: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 8

RDF AnfragesprachenInstitut für InformatikBetriebliche InformationssystemeRDQL Sprachenübersicht

RDF Data Query Language (RDQL)has been implemented in a number of RDF systems for extracting information from RDF graphs (W3C)

Eigenschaften: • definiert einen Mustergraphen , der mit dem RDF-Graphen

verglichen wird und eine Menge von übereinstimmenden Teilgraphen zurückliefert.

• SQL / OQL-artigen Syntax :- select-from-where Anfragen

• Status W3C Submission• Entwicklung von HP

Page 9: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 9

RDF AnfragesprachenInstitut für InformatikBetriebliche InformationssystemeRDQL Sprachenübersicht

Supports• Namespace Abkürzungsmechanismus• model-level access mechanism

Namespaces • Syntax: “ using … for“ Klausel am Ende der Query

Bsp.: USING info FOR <http://somewhere/peopleInfo#>

Variablen• Variablen werden per Namen identifiziert• Namen der Variablen fangen mit dem Präfix „?“ an

Bsp.: ?resource, ?fName

URIs• URIs werden in „<> “ quotiert Beispiel: WHERE (?x, <http://www.w3.org/2001/vcard-rdf/3.0#FN>, ?fName)

Page 10: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 10

RDF AnfragesprachenInstitut für InformatikBetriebliche InformationssystemeRDQL Sprachenübersicht

Muster Graph • werden in der „where“-Klausel verwendet WHERE (?y, <http://www.w3.org/2001/vcard- rdf/3.0#Family>, "Smith") •Pfade

(?Person, <foo:worksFor> ,?Company),

(?Company, <rdf:type>, foo:ITCompany) • Knoten und Kanten können Variable, URIs du Literalen sein

- Bespiel: (?PAINTER, cult:paints ,?PAINTING)

?Person ?Company

foo:worksFor

rdf:type foo:ITCompany

Page 11: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 11

RDF AnfragesprachenInstitut für InformatikBetriebliche InformationssystemeRDQL Sprachenübersicht

SELECT – FROM – WHERE Query• SELECT gibt an, welche Anfragevariablen im Anfrageergebnis

ausgegeben werden sollen.• FROM spezifiziert die zu untersuchenden Modelle anhand von

URIs (kaum benutzt)• WHERE wird gefolgt von einer Liste konjunktiv verbundener

Triple-Muster. Diese Muster werden mit allen Trippeln, die im Modell enthalten sind, verglichen und übereinstimmende Tripel in einer Ergebnismenge gesammelt.

• AND gibt Bedingungen für den Gütigkeitsbereich von Variablen an.

• USING ermöglicht zur Verbesserung der Übersichtlichkeit der Anfrage die Einführung von Platzhaltern..

- Beispiel:

SELECT ?resource WHERE (?resource, <info:age>, ?age) AND ?age >= 24 USING info FOR <http://somewhere/peopleInfo#>

Page 12: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 12

RDF AnfragesprachenInstitut für InformatikBetriebliche InformationssystemePraktische Anwendung RDQL Anfragen

• SELECT ?x, ?fname WHERE (?x, <http://www.w3.org/2001/vcard-rdf/3.0#FN>, ?fname)

• SELECT ?givenName

WHERE (?y, <http://www.w3.org/2001/vcard-rdf/3.0#Family>, "Smith"), (?y, <http://www.w3.org/2001/vcard-rdf/3.0#Given>, ?givenName)

• (alternativ zu 1). SELECT ?x WHERE (?x, <vCard:FN>, "John Smith")

USING vCard FOR <http://www.w3.org/2001/vcard-rdf/3.0#>

?x ?fname

http://www.w3.org/2001/vcard-rdf/3.0#FN

?y

Smith

?givenName

http://www.w3.org/2001/vcard-rdf/3.0#Family

http://www.w3.org/2001/vcard-rdf/3.0#Given

Page 13: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 13

RDF AnfragesprachenInstitut für InformatikBetriebliche InformationssystemePraktische Anwendung RDQL Anfragen

• SELECT ?resource, ?givenName WHERE (?resource, <http://www.w3.org/2001/vcard-rdf/3.0#N>, ?z) ,

(?z, <http://www.w3.org/2001/vcard-rdf/3.0#Given>, ?givenName)

• SELECT ?resource WHERE (?resource, <info:age>, ?age) AND ?age >= 24

USING info FOR <http://somewhere/peopleInfo#>

?resource ?ageinfo:age

?resource ?z ?givenName

http://www.w3.org/

2001/vcard-rdf/3.0#N

http://www.w3.org/2001/

vcard-rdf/3.0#Given

Page 14: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 14

RDF AnfragesprachenInstitut für InformatikBetriebliche InformationssystemePraktische Anwendung RDQL Anfragen

• SELECT ?resource, ?familyName WHERE (?resource, <info:age>, ?age) , (?resource, <vCard:N>, ?y) , (?y, <vCard:Family>, ?familyName) AND ?age >= 24 USING info FOR <http://somewhere/peopleInfo#> , vCard FOR <http://www.w3.org/2001/vcard-rdf/3.0#>

?resource ?age

?y

info:age

v:Card:N ?familyNamevCard:

Family

Page 15: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 15

RDF AnfragesprachenInstitut für InformatikBetriebliche InformationssystemeSeRQL

Sesame RDF Query Language (SeRQL)A new RDF/RDFS query language that is currently being developed by Aduna as part of Sesame (SeRQL munuel)

Eigenschaften: • vereinigt beste Eigenschaften der anderen Anfragen-Sprachen ( RQL, RDQL, N-Triples, N3 ) und fügt ihre eigene hinzu• Graph Transformation. • Ausdrucksvolle Pfad-Ausdruck-Syntax. • Optional Pfad Matching. • Folgt einer SQL / OQL-artigen Syntax:

- select-from-where Anfragen

Supports:• RDF Schema Support. • XML Schema Datentyp Support

Page 16: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 16

RDF AnfragesprachenInstitut für InformatikBetriebliche InformationssystemeSeRQL Sprachenübersicht

Literalen• Bestehen aus 3 Teilen : Label, language tag ,Datentyp • Beispiele:

• "foo" • "foo"@en• "<foo/>"^^<http://www.w3.org/1999/02/22-rdf-syntax-

ns#XMLLiteral> Variablen

• Variablen werden mit Namen identifiziert• Zeichen „_“, „.“, „-“ sind erlaubt• Beispiel für Namen der Variablen:

- Var1, _var2- unwise.var-name_isnt-it

URI• URIs werden in „<> “ quotiert

- <http://www.openrdf.org/index.html>

Page 17: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 17

RDF AnfragesprachenInstitut für InformatikBetriebliche InformationssystemeSeRQL Sprachenübersicht

Path expressions (Pfad-Ausdrücke)

• Knoten und Kanten können Variable, URIs du Literalen sein

Bespiel: {PAINTER} cult:paints {PAINTING}

• Grundlegende Pfad-Ausdrücke:

SeRQL: {Person} foo:worksFor {Company} rdf:type {foo:ITCompany}

oder {Person} foo:worksFor {Company}, {Company} rdf:type {foo:ITCompany}

Page 18: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 18

RDF AnfragesprachenInstitut für InformatikBetriebliche InformationssystemeSeRQL: Pfad-Ausdrücke

• Multi-value Knoten1. Variante:

{subj1} pred1 {obj1, obj2, obj3}

oder {subj1} pred1 {obj1}, {subj1} pred1 {obj2}, {subj1} pred1 {obj3}

2. Variante: - {subj1, subj2, subj3} pred1 {obj1}

3. Variante: {first} pred1 {middle1, middle2} pred2 {last}

Page 19: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 19

RDF AnfragesprachenInstitut für InformatikBetriebliche InformationssystemeSeRQL: Sprachenübersicht

Path expressions (Pfad-Ausdrücke) Zweige

{subj1} pred1 {obj1}; pred2 {obj2}

oder {subj1} pred1 {obj1}, {subj1} pred2 {obj2}

• optionale Pfad Ausdrücke:{Person} person:name {Name};

person:age {Age}; [person:email {EmailAddress}]

Page 20: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 20

RDF AnfragesprachenInstitut für InformatikBetriebliche InformationssystemeSeRQL Sprachenübersicht

Query SELECT Query

- gibt Menge der Anfragevariablen in vorgegebener Ordnung

- select from where Notation - Bsp: SELECT O, S FROM {S} rdfs:label {O}

CONSTRUCT Query- gibt Menge Trippeln zurück- constuct from where Notation - Bsp.: CONSTRUCT {Parent} foo:hasChild {Child} FROM {Child} foo:hasParent {Parent}

Page 21: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 21

RDF AnfragesprachenInstitut für InformatikBetriebliche InformationssystemeRegelbasierte Sprache TRIPLE

TRIPLEvereinigt in sich eine Anfrage-Sprache und eine Sprache von Regeln

Supports:- Ressourcen & Namespaces, Abkürzungen- Models ( Reihe von RDF Statements)- Reification - Regeln- Transformationen

Sprachenübersicht:• Syntaktische Erweiterung der Hornlogik • Syntaktisch ähnlich der F-Logik :

- subject[predikate object] (“molecule”).

Page 22: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 22

RDF AnfragesprachenInstitut für InformatikBetriebliche InformationssystemeTRIPLE Sprachenübersicht

• Statements, triples, molecules:

– subject[predicate object]

– subject[p1 o1; p2 o2; ...]– s1[p1 s2[p2 o] ]

• Reification:– stefan[believes <Ora[isAuthorOf homepage]> ]

• Logische Formeln:– usual logical connectives and quantifiers: – alle Variablen werden über (oder ) eingeführt

Page 23: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 23

RDF AnfragesprachenInstitut für InformatikBetriebliche InformationssystemeTRIPLE Sprachenübersicht

• Clauses:– Fakt: s[p1 o1; p2 o2; ...].– Regel: X s1[p1X] s2[p2X] ... .

• Namespace und Resource abbreviations:– rdf := “http://www.w3.org/1999/02/22-rdf-syntax-ns#”.– isa := rdf:subClassOf

Page 24: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 24

RDF AnfragesprachenInstitut für InformatikBetriebliche InformationssystemeTRIPLE Sprachenübersicht

Beispiel: Dublin Core Metadata

dc := “http://purl.org/dc/elements/1.0/”.dfki := “http://www.dfki.de/”.

@dfki:documents { dfki:d_01_01 [ dc:title “TRIPLE”; dc:creator “Michael Sintek”; dc:subject RDF; dc:subject triples; ... ]. }

namespace abbreviations

block

fact

dfki:d_01_01

Michael Sintek

RDF triples

TRIPLE

dc:title dc:creator

dc:subject dc:subject

...

FORALL D <- D[dc:subject RDF]@dfki:documents.

rule

Ergebnis: dfki:d_01_01

Page 25: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 25

RDF AnfragesprachenInstitut für InformatikBetriebliche InformationssystemeRegelbasierte Anfragesprache Versa

Versa is a specialized language for addressing and querying an RDF model. It allows traversal of arcs, processing of node contents, and general expression evaluation.

Unterstützt:• boolesche Logik;• set – Operationen; • transitive Operationen; • das Stringvergleich;

Datentypen:• Ressource

spam:eggs @“http: // rdfinference.org“

• String• Number• Boolean

Page 26: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 26

RDF AnfragesprachenInstitut für InformatikBetriebliche InformationssystemeRegelbasierte Anfragesprache Versa

Versa Query Structure• Query• Traversal and filter expressions

- Forward traversal and filter expressions- Backward traversal expressions

Forward traversal operatorlist-expression - list-expression -> boolean-expression

return Liste von Objekten

Forward filter operatorlist-expression - list-expression |-> boolean-expression

return Liste von Subjekten

Page 27: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 27

RDF AnfragesprachenInstitut für InformatikBetriebliche InformationssystemeRegelbasierte Anfragesprache Versa

An illustration of the workings of a traversal expression

type(t1) – p1->contains(„b“) type(t1) – p1->contains(„b“)

type(t1) – p1->contains(„b“)

Page 28: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 28

RDF AnfragesprachenInstitut für InformatikBetriebliche InformationssystemeRegelbasierte Anfragesprache Versa

all() - dc:date -> *

Ergebnis:

<List>

<String>2001-03-04</String> </List>

all() - dc:date -> contains("-03-")

Ergebnis:<List> <String>2001-03-04</String> </List>

all() |- dc:date -> contains("-03-") Ergebnis:<List> <Resource> http://rdfinference.org/ril/issue-tracker/i2001030423</Resource></List>

Page 29: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 29

RDF AnfragesprachenInstitut für InformatikBetriebliche InformationssystemeRegelbasierte Anfragesprache Versa

Backward traversal expression: Form : list <- list - boolean

<List><Resource> http://rdfinference.org/ril/issue-tracker/i2001030423</Resource></List>

"2001-03-04" <- dc:date - *

("2001-03-04" <- dc:date - *) - dc:title -> * <List><String>Unnecessary abbreviation</String></List>

Page 30: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 30

RDF AnfragesprachenInstitut für InformatikBetriebliche InformationssystemeRegelbasierte Anfragesprache N3

Notation3 (N3) provides a text-based syntax for RDF. Therefore the data model of N3 conforms to the RDF data model. Additionally, N3 allows to dene rules, which are denoted using a special syntax. Such rules, whilst not a query language per se, can be used for the purpose of querying.

Unterstützt:• Namespace Abkürzungsmechanismus

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

• Aggregatfunktionenz.B. count

• Rekursionen

Page 31: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 31

RDF AnfragesprachenInstitut für InformatikBetriebliche InformationssystemeRegelbasierte Anfragesprache N3

• Namen der Variablen fangen mit dem Präfix „?“ an Bsp.: ?Var

• Statementsubject predicat object

• Mehrere Objekte für ein Subjekt :sub pred1 obj1, pred2 obj2.

• Am Ende der Regel steht immer „ . “ • Markierung von Blanck node durch die eckigen Klammern

Query - Beispiel:?y rdfs:label „foo“=>?y a:QueryResalt. – Gibt alle Ressourcen, die

eine Label „foo“ haben, zurück.

Page 32: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 32

RDF AnfragesprachenInstitut für InformatikBetriebliche Informationssysteme5. Vergleich von Anfragesprachen

RDQL TRIPLE SeRQL Versa N3 RQL

Path Expressions + + + + + +

Optional Path Expressions - - + + ° °

Union - + - + + +

Difference - - - ° - +

Quantification - ° - - - +

Aggregation - - - + + +

Recursion - + - + + °

Reification ° + + ° - °

Collection and Containers ° ° ° ° ° °

Namespace ° - + - + +

Language - - + - - °

Lexical Space + + + + + +

Value Space ° - + - - +

Page 33: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 33

RDF AnfragesprachenInstitut für InformatikBetriebliche Informationssysteme5. Vergleich von Anfragesprachen

• Usecase Namespacez.B. Return all resources whose namespace starts with

„http://www.uni-leipzig.de/“.

• Usecase Language:<acm:Topic

rdf:about="#ACMTopic/Information_Systems/Database_Management"> <rdfs:label xml:lang="en“>Database Management</rdfs:label>

<rdfs:label xml:lang="de“>Datenbankmanagement</rdfs:label> <acm:SubTopic

rdf:resource="#ACMTopic/Information_Systems/Database_Management/Languages" />

</acm:Topic>

Return the German label of the topic whose English label is „Database Management“.

Page 34: Institut für Informatik Betriebliche Informationssysteme Oxana Krieger Yuliya Grinshteyn1 RDF Query Languages Oxana Krieger Yuliya Grinshteyn

Oxana Krieger Yuliya Grinshteyn 34

RDF AnfragesprachenInstitut für InformatikBetriebliche InformationssystemeQuellen

• Sesame RQL : a Tutorialhttp://www.openrdf.org/doc/rql-tutorial.html

• Jena Tutorial – RDQLhttp://www.hpl.hp.com/semweb/doc/tutorial/RDQL/

• The SeRQL query language(manual) http://www.openrdf.org/doc/users/ch06.html

• RDF Query using Versa http://www-106.ibm.com/ developerworks/xml/library/x- think10/index.html#1

• TRIPLE – A Query, Inference and Transformation Language

http://www.dfki.uni-kl.de/frodo/triple/iswc2002/TripleReport.pdf

• Notation 3 http://www.w3.org/DesignIssues/Notation3.html

• Comparison of Query Languages http://www.aifb.uni-karlsruhe.de/WBS/pha/rdf-query/