Oxana Krieger Yuliya Grinshteyn

Slides:



Advertisements
Ähnliche Präsentationen
Einführung in RDF.
Advertisements

Inhalt Saarbrücken,.
JPQL Java Persistence Query Language
Idee und Realisierung des Internet der Zukunft
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
Institut für Informatik Betriebliche Informationssysteme Alex Bartrolí1 OWL-Sprachelemente.
Resource Description Framework (RDF)
Universität zu Köln IT Zertifikat Phil. Fak: Daten- und Metadatenstandards SS 2009 MA: Patrick Sahle RDF in 5 Minuten* RDF in 5 Minuten* Resource.
Bäume als Datenmodelle
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/7
Alternativen und Muster. Alternativen Gegeben ist eine Tabelle in der ein Attribut der Tabelle Buecher Gruppe genannt wurde. So gibt es unter anderem.
DOM (Document Object Model)
RDF R ESOURCE D ESCRIPTION F RAMEWORK Referentin: Claudia Langer.
XPATH XML Path Language. Xpath – XML Path Language IT Zertifikat - Daten und Metadatenstandards: XPath 2 Entwicklung des W3C Adressierungssprache für.
XML-Schema HKI Proseminar Wintersemester 2010/11 Dozentin: Frau Kurz von Jan Kohl und Christian Lütticke.
Ressource Description Language
Die Bestandteile des Semantic Web. Sematic Web soll das WWW erweitern und nicht neuerfinden Informationen sollen Maschinenlesbar sein Schemata beschreiben.
XForms Von Matthias Keck.
Zentrale Elemente des Resource Description Framework (RDF) Die Modell- und Syntax-Spezifikation des World Wide Web Consortium für das Semantic Web Seminar.
Cross-Search in Renardus Göttingen State and University Library, Germany (SUB) Dr. Heike Neuroth The Academic Subject.
XML Standardisierungen und Abfragesprachen
Speicherung von XML- Dokumenten als Large Objects.
Einführung XML XML Einführung Andreas Leicht.
Referent: Jan Kretzschmar1 Seminar Informationsverwaltung in Netzen Thema: RDF - Beschreibungen und Peer - To - Peer Routing Referent: Jan Kretzschmar.
Jan Fienhold1 Institut für Informatik Betriebliche Informationssysteme OWL Web Ontology Language.
MMQL – Multimedia Query Language Eine Anfragesprache für Multimedia-Ähnlichkeitsanfragen Christian Mantei.
Hauptseminar XML-Technologie: Resource Description Framework (RDF) Michael Kranz Betreuer: Roland Haratsch.
XML-Algebren Martin Winkler.
Ontologie(n) Ein Vortrag von Sven Liekenbrock
RDF-Schema Seminar: „Semantic Web“ André Rosin,
Dublin Core Metadata Thea Spiridonidou Institut für Informatik Humboldt Universität zu Berlin SE: Grundlegende Aspekte des Semantic Web WS 02/03.
XQuery-Anfragen Spezifikations- und Selektionsmethoden für Daten und Dienste Markus Mauch.
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
RDF-S3 und eRQL: RDF-Technologien für Informationsportale Karsten Tolle und Fabian Wleklinski.
Der Supermarkt: Eine beispielhafte Erklärung für die fünf untersten Schichten des Semantic Web Protocol Stack Nicola Henze.
Der Supermarkt: Eine beispielhafte Erklärung für die fünf untersten Schichten des Semantic Web Protocol Stack Nicola Henze.
1 Dienstbeschreibung mit DAML Ein graphischer Editor für DAML - Ting Zheng Betreuer: Michael Klein, Philipp Obreiter.
RDF Resource Description Framework
SEP Halgurt Mustafa Ali Can Önder Marius Morawski Matthias Seidl Themen: Integration von RDQL und OWQL innerhalb des Apache Cocoon Frameworks Semantische.
Metadaten als Bausteine des Semantic Web META-LIB Workshop 22
Quilt: Eine XML Anfragesprache für heterogene Datenquellen
XSLT.
RDF MT Resource Description Framework Model Theory © 2002 by Emir Blažević
Wir bauen uns eine Webapplikation!
Datenbanktechnologie Daniel Ebner SS Mai Ulrike Lohner.
Proseminar: „Webtechnologien für Ecommerce“
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 9 Folie 2 ADO.NET (1) Klassen für Zugriffe.
Sesame Florian Mayrhuber
XML-Query. Übersicht Was ist XML-Query? Vergleich RDB XML-Dokument Syntaktisches und Use-Cases Kritik und Diskussion.
Datenbanksysteme für hörer anderer Fachrichtungen
Struktur von RDF Fabian Scheller.
Trust and context using the RDF- Source related Storage System (RDF‑S3) and easy RQL (eRQL) Karsten Tolle und Fabian Wleklinski.
PL/SQL - Kurze Einführung April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche.
SQL - Structured Query Language AIFB SS (1/9) Join-Operationen in SQL-92(1/9) Syntax einer Join-Operation: join-op := CROSS JOIN | [NATURAL]
Dublin Core IT-Zertifikat Daten- und Metadatenstandards.
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
Der Supermarkt: Eine beispielhafte Erklärung für die fünf untersten Schichten des Semantic Web Protocol Stack Nicola Henze.
Seminar: Neue Ansätze der Künstlichen Intelligenz Seite 1Ulf Schneider02. Juli 2002 Ulf Schneider Neue Ansätze der Künstlichen Intelligenz: OIL Ontology.
„Wenn du den Fluss Halys überschreitest, wirst du
Semantic Web.
Hauptseminar Web-Services und verteilte Datenbanken Thema XML, DTDs und XML-Schema XML, DTDs und XML-Schema - Stefan Kurz, 25. April 2003.
RelationentheorieObjektorientierte Datenbanken  AIFB SS Anfragen auf Sammlungen(1/29) OQL besteht aus einer Menge von Anfrageausdrücken, die.
IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle Semantic WebWS 08/09.
1 6.4 Resource Description Framework (RDF) 6 Interoperabilität im WWW mit XML 6.1 XML – Definition und Nutzung 6.2 XML – Datenverwaltung und Indexierung.
Extended Pascal ( Erweitreung von Pascal) Name: Mehmet CELIK Matr :
1 6.3 Resource Description Framework (RDF) 6 Interoperabilität im WWW mit XML 6.1 XML – Definition und Nutzung 6.2 Anfragen auf XML-Datenbeständen.
Datenbanken abfragen mit SQL
Institut für Informatik Betriebliche Informationssysteme Fußzeile...1 Semantic Web Services and Interfaces Semantic Web, Resource Description Framework,
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Seminarphase PG 402 Thema: Semantic Web Autor: Phillip Look
 Präsentation transkript:

Oxana Krieger Yuliya Grinshteyn RDF Query Languages Oxana Krieger Yuliya Grinshteyn Oxana Krieger Yuliya Grinshteyn

Gliederung Übersicht SQL/OQL- basierte Sprachen RQL RDQL: praktische Anwendung von Anfragen SeRQL Regelbasierte Sprachen Triple Versa N3 Vergleich von Anfragesprachen Oxana Krieger Yuliya Grinshteyn

SQL/OQL- basierte Anfragesprachen 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 Oxana Krieger Yuliya Grinshteyn

RQL Sprachenübersicht 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#> Oxana Krieger Yuliya Grinshteyn

RQL 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: <, <=,= , >= , >, != Oxana Krieger Yuliya Grinshteyn

RQL 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:worksFor rdf:type Company foo:ITCompany Person Oxana Krieger Yuliya Grinshteyn

RQL 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 Beispiel select X, @P // X - Subjekt from {X} @P {Y} // @P - Prädikat where Y like "Pablo" // Y - Objekt Oxana Krieger Yuliya Grinshteyn

RDQL 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 Oxana Krieger Yuliya Grinshteyn

RDQL 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) Oxana Krieger Yuliya Grinshteyn

RDQL 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:works For rdf:type foo:ITCompany Oxana Krieger Yuliya Grinshteyn

RDQL 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#> Oxana Krieger Yuliya Grinshteyn

Praktische 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 Oxana Krieger Yuliya Grinshteyn

Praktische 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 ?z ?givenName http://www.w3.org/ 2001/vcard-rdf/3.0#N http://www.w3.org/2001/ vcard-rdf/3.0#Given ?resource ?age info:age Oxana Krieger Yuliya Grinshteyn

Praktische 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 ?familyName vCard: Family Oxana Krieger Yuliya Grinshteyn

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 Oxana Krieger Yuliya Grinshteyn

SeRQL 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> Oxana Krieger Yuliya Grinshteyn

SeRQL 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} Oxana Krieger Yuliya Grinshteyn

SeRQL: Pfad-Ausdrücke Multi-value Knoten Variante: {subj1} pred1 {obj1, obj2, obj3} oder {subj1} pred1 {obj1}, {subj1} pred1 {obj2}, {subj1} pred1 {obj3} {subj1, subj2, subj3} pred1 {obj1} {first} pred1 {middle1, middle2} pred2 {last} Oxana Krieger Yuliya Grinshteyn

SeRQL: 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}] Oxana Krieger Yuliya Grinshteyn

SeRQL 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} Oxana Krieger Yuliya Grinshteyn

Regelbasierte Sprache TRIPLE vereinigt 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”). Oxana Krieger Yuliya Grinshteyn

TRIPLE 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 Oxana Krieger Yuliya Grinshteyn

TRIPLE Sprachenübersicht Clauses: – Fakt: s[p1  o1; p2  o2; ...]. – Regel: X s1[p1X]  s2[p2X]  ... . Namespace und Resource abbreviations: – rdf := “http://www.w3.org/1999/02/22-rdf-syntax-ns#”. – isa := rdf:subClassOf Oxana Krieger Yuliya Grinshteyn

TRIPLE 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 Michael Sintek TRIPLE fact dc:title dc:creator dfki:d_01_01 dc:subject dc:subject RDF ... triples rule FORALL D <- D[dc:subject  RDF]@dfki:documents. Ergebnis: dfki:d_01_01 Oxana Krieger Yuliya Grinshteyn

Regelbasierte 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 Oxana Krieger Yuliya Grinshteyn

Regelbasierte Anfragesprache Versa Versa Query Structure Query Traversal and filter expressions Forward traversal and filter expressions Backward traversal expressions Forward traversal operator list-expression - list-expression -> boolean-expression return Liste von Objekten Forward filter operator list-expression - list-expression |-> boolean-expression return Liste von Subjekten Oxana Krieger Yuliya Grinshteyn

Regelbasierte 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“) Oxana Krieger Yuliya Grinshteyn

Regelbasierte Anfragesprache Versa all() - dc:date -> * 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> all() - dc:date -> contains("-03-") Ergebnis: <List> <String>2001-03-04</String> </List> Oxana Krieger Yuliya Grinshteyn

Regelbasierte Anfragesprache Versa Backward traversal expression: Form : list <- list - boolean "2001-03-04" <- dc:date - * <List> <Resource> http://rdfinference.org/ril/issue-tracker/i2001030423 </Resource> </List> ("2001-03-04" <- dc:date - *) - dc:title -> * <List><String>Unnecessary abbreviation</String></List> Oxana Krieger Yuliya Grinshteyn

Regelbasierte 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#> . Aggregatfunktionen z.B. count Rekursionen Oxana Krieger Yuliya Grinshteyn

Regelbasierte Anfragesprache N3 Namen der Variablen fangen mit dem Präfix „?“ an Bsp.: ?Var Statement subject 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. Oxana Krieger Yuliya Grinshteyn

5. 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 Oxana Krieger Yuliya Grinshteyn

5. Vergleich von Anfragesprachen Usecase Namespace z.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“. Oxana Krieger Yuliya Grinshteyn

Quellen Sesame RQL : a Tutorial Jena Tutorial – RDQL http://www.openrdf.org/doc/rql-tutorial.html Jena Tutorial – RDQL http://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/ Oxana Krieger Yuliya Grinshteyn