SlideShare ist ein Scribd-Unternehmen logo
1 von 66
Downloaden Sie, um offline zu lesen
Semantic Web Technologien Lehrveranstaltung Semantic Web Technologien WS 2009/10  HTWG Konstanz
Sprachen des Semantic Web SPARQL S PARQL  P rotocol  A nd  R DF  Q uery  L anguage
SPARQL - Einführung ,[object Object]
SPARQL (engl. ausgesprochen wie sparkle)
Anfragen auf RDF Graphen
Bestandteile ,[object Object]
Hohe Relevanz in der Praxis ,[object Object],[object Object],[object Object],[object Object]
SPARQL SPARQL Query Language
SPARQL - Einführung ,[object Object],firmensitz “Wolfsburg” “Ingolstadt”
SPARQL - Einführung ,[object Object],name firmensitz “Volkswagen” “Wolfsburg” “Audi” “Ingolstadt”
SPARQL - Einführung ,[object Object]
Kann Variablen enthalten (  ?firmensitz  … )
Muster muss vollständig passen, damit Ergebnisse zurückgeliefert werden können ,[object Object]
Ergebnis durch “Auswahl” von Variablen ( SELECT )
SPARQL - Einführung ,[object Object]
Menge von RDF Triplen in Turtle Syntax ,[object Object],[object Object],[object Object]
Prinzipiell auch innerhalb ein und der selben Anfrage mischbar
Bitte für eine Variante entscheiden, da sonst schwer bis nicht lesbar ,[object Object]
SPARQL – Behandlung von Literalen ,[object Object]
Liefert nur Genaue Übereinstimmung gefordert ,[object Object],[object Object]
Liefert Datentyp wird aus syntaktischer Form bestimmt  node ex:z node ex:w
SPARQL – Behandlung von Blank Nodes ,[object Object]
ID beliebig (aber nur einmal pro Anfrage verwenden)
Variablen, die nicht ausgewählt werden können ,[object Object],[object Object]
Ids beliebig, aber evtl. an anderen Ergebnisteil gebunden ,[object Object],[object Object],[object Object],node name _:b “Volkswagen” _:a “Audi” node name _:a “Volkswagen” _:b “Audi”
SPARQL – Gruppierung ,[object Object]
Beispiel: ,[object Object],[object Object]
SPARQL – Optionale Muster ,[object Object],x name firmensitz ex:Volkswagen “Volkswagen” “Wolfsburg” ex:Audi “Ingolstadt” ex:Porsche “Porsche”
SPARQL – Alternative Muster ,[object Object]
SELECT ?x ?firmensitz WHERE  {  ?x rdf:type ex:Autohersteller . { ?x ex:hatFirmensitzIn  ?firmensitz . } UNION { ?x ex:hatHauptstandortIn ?firmensitz . } }
Ergebnis ist die Vereinigung (logisches ODER) der Ergebnismengen beider möglichen Varianten
Gelten beide Varianten (Sind für einen Autohersteller beide Triple gepflegt) werden auch beide Varianten zurückgeliefert
Gleiche Variablennamen in beiden Teilen von UNION beeinflussen sich nicht gegenseitig.
SPARQL - Vorrangregelung ,[object Object]
OPTIONAL gilt immer genau für das Muster (die Mustergruppe), vor dem OPTIONAL steht
UNION und OPTIONAL sind gleichwertig und beziehen sich beide immer auf alle links von ihnen stehende Ausdrücke
Beispiel
{ { s1 p1 o1 } OPTIONAL { s2 p2 o2 } UNION { s3 p3 o3 }   OPTIONAL { s4 p4 o4 } OPTIONAL { s5 p5 o5 } } {  {   {   {  {  s1 p1 o1  } OPTIONAL { s2 p2 o2 }   }   UNION { s3 p3 o3 }   }   OPTIONAL { s4 p4 o4 }   } OPTIONAL { s5 p5 o5 } }
SPARQL – FILTER ,[object Object]
Mit der SPARQL Anweisung FILTER kann man die Menge der Ergebnisse weiter einschränken
FILTER wird eine Operation übergeben, die als Ergebnis einen boolschen Wert liefert
Nur Ergebnisse, für die der Wert TRUE zurückgeliefert wird, werden in die Ergebnismenge übernommen
SPARQL – FILTER - Wofür? ,[object Object]
Manche Anfragen mit reinem Mustervergleich nicht möglich: ,[object Object]
Der Vorname welcher Personen beginnt mit einem “A”
Welche Attribute sind in deutscher Sprache vorhanden? ,[object Object]
SPARQL – FILTER - Beispiel ,[object Object]
Schlüsselwort FILTER, gefolgt von Ausdruck in Klammern
Filter liefern Wahrheitswerte
Viele Filterfunktionen aus Xquery/XPath Standard übernommen
SPARQL – FILTER – Operatoren ,[object Object]
Strings alphabetisch
Boolean (TRUE > FALSE)
… ,[object Object],[object Object]
xsd:dateTime
xsd:string
xsd:Boolean ,[object Object]
Vergleich von Literalen inkompatibler Typen nicht möglich ,[object Object],[object Object],[object Object]
Verwendung zur Berechnung von Werten in Filterbedingungen
SPARQL – FILTER - Funktionen ,[object Object],Operator Beschreibung Erlaubter Typ für A BOUND( A ) Gibt an, ob die Variable A gebunden ist Variable isIRI( A )  / isURI (A) Gibt an, ob das Element eine IRI/URI ist RDF-Element isBLANK( A ) Gibt an, ob das Element ein BlankNode ist RDF-Element isLITERAL( A ) Gibt an, ob das Element ein Literal ist RDF-Element STR( A ) Darstellung von URIs und Literalen als xsd:string URI / Literal LANG( A ) Sprachangabe eines Literals (leer, wenn nicht vorhanden) Literal DATATYPE( A ) Datentyp eines Literals. Wenn Literal ungetypt und ohne Sprachangabe: xsd:string Literal
SPARQL – FILTER - Funktionen ,[object Object]
Mehrere Filter können mittels && bzw. || verbunden werden sowie mit ! negiert werden Operator Beschreibung sameTERM( A, B ) Prüfen, ob A und B die gleichen RDF Terme sind LangMATCHES(A,B) Prüfen, ob A und B die gleichen Sprachangaben sind REGEX( A, B ) Prüfen, ob in String A der Reguläre Ausdruck B vorkommt
SPARQL – Lösungen und Modifikatoren ,[object Object]
Zum Teil sind auch unerwünschte Ergebnisse enthalten
Manche Sätze können mehrfach vorhanden sein
Hier kommen Modifikatoren zum Einsatz ,[object Object],[object Object],[object Object]

Más contenido relacionado

Ähnlich wie 7 - Sprachen Des Semantic Web - SPARQL

Webinar - ABAP 7.50 Releaseabhängige Änderungen
Webinar - ABAP 7.50 Releaseabhängige ÄnderungenWebinar - ABAP 7.50 Releaseabhängige Änderungen
Webinar - ABAP 7.50 Releaseabhängige ÄnderungenCadaxo GmbH
 
Reguläre Ausdrucke (PCRE)
Reguläre Ausdrucke (PCRE)Reguläre Ausdrucke (PCRE)
Reguläre Ausdrucke (PCRE)Dominik Siebel
 
REST in Peace - Mit ORDS, Node.JS, ADF, Java oder OSB?
REST in Peace  - Mit ORDS, Node.JS, ADF, Java oder OSB?REST in Peace  - Mit ORDS, Node.JS, ADF, Java oder OSB?
REST in Peace - Mit ORDS, Node.JS, ADF, Java oder OSB?enpit GmbH & Co. KG
 
Oracle12c für Entwickler
Oracle12c für EntwicklerOracle12c für Entwickler
Oracle12c für EntwicklerCarsten Czarski
 
Oracle12c für Entwickler
Oracle12c für EntwicklerOracle12c für Entwickler
Oracle12c für Entwickleroraclebudb
 
PureSQL APEX Connect
PureSQL APEX ConnectPureSQL APEX Connect
PureSQL APEX ConnectTrivadis
 
Pure SQL for batch processing
Pure SQL for batch processingPure SQL for batch processing
Pure SQL for batch processingAndrej Pashchenko
 
4 - Sprachen Des Semantic Web - RDFS
4 - Sprachen Des Semantic Web - RDFS4 - Sprachen Des Semantic Web - RDFS
4 - Sprachen Des Semantic Web - RDFSSteffen Schloenvoigt
 
Ruby On Rails Einführung
Ruby On Rails EinführungRuby On Rails Einführung
Ruby On Rails EinführungReinhold Weber
 

Ähnlich wie 7 - Sprachen Des Semantic Web - SPARQL (9)

Webinar - ABAP 7.50 Releaseabhängige Änderungen
Webinar - ABAP 7.50 Releaseabhängige ÄnderungenWebinar - ABAP 7.50 Releaseabhängige Änderungen
Webinar - ABAP 7.50 Releaseabhängige Änderungen
 
Reguläre Ausdrucke (PCRE)
Reguläre Ausdrucke (PCRE)Reguläre Ausdrucke (PCRE)
Reguläre Ausdrucke (PCRE)
 
REST in Peace - Mit ORDS, Node.JS, ADF, Java oder OSB?
REST in Peace  - Mit ORDS, Node.JS, ADF, Java oder OSB?REST in Peace  - Mit ORDS, Node.JS, ADF, Java oder OSB?
REST in Peace - Mit ORDS, Node.JS, ADF, Java oder OSB?
 
Oracle12c für Entwickler
Oracle12c für EntwicklerOracle12c für Entwickler
Oracle12c für Entwickler
 
Oracle12c für Entwickler
Oracle12c für EntwicklerOracle12c für Entwickler
Oracle12c für Entwickler
 
PureSQL APEX Connect
PureSQL APEX ConnectPureSQL APEX Connect
PureSQL APEX Connect
 
Pure SQL for batch processing
Pure SQL for batch processingPure SQL for batch processing
Pure SQL for batch processing
 
4 - Sprachen Des Semantic Web - RDFS
4 - Sprachen Des Semantic Web - RDFS4 - Sprachen Des Semantic Web - RDFS
4 - Sprachen Des Semantic Web - RDFS
 
Ruby On Rails Einführung
Ruby On Rails EinführungRuby On Rails Einführung
Ruby On Rails Einführung
 

Mehr von Steffen Schloenvoigt

Venture labs creativity course assignment 1 "Things we have in common"
Venture labs creativity course assignment 1 "Things we have in common"Venture labs creativity course assignment 1 "Things we have in common"
Venture labs creativity course assignment 1 "Things we have in common"Steffen Schloenvoigt
 
Semantic Web Technologies - SS 2010 - 05 - RDF(S) Frameworks
Semantic Web Technologies - SS 2010 - 05 - RDF(S) FrameworksSemantic Web Technologies - SS 2010 - 05 - RDF(S) Frameworks
Semantic Web Technologies - SS 2010 - 05 - RDF(S) FrameworksSteffen Schloenvoigt
 
Semantic Web Technologies - SS 2010 - 03 - RDF
Semantic Web Technologies - SS 2010 - 03 - RDFSemantic Web Technologies - SS 2010 - 03 - RDF
Semantic Web Technologies - SS 2010 - 03 - RDFSteffen Schloenvoigt
 
Semantic Web Technologies - SS 2010 - 01 - Einfuehrung
Semantic Web Technologies - SS 2010 - 01 - EinfuehrungSemantic Web Technologies - SS 2010 - 01 - Einfuehrung
Semantic Web Technologies - SS 2010 - 01 - EinfuehrungSteffen Schloenvoigt
 
Semantic Web Technologies - SS 2010 - 02 - XML und URIs
Semantic Web Technologies - SS 2010 - 02 - XML und URIsSemantic Web Technologies - SS 2010 - 02 - XML und URIs
Semantic Web Technologies - SS 2010 - 02 - XML und URIsSteffen Schloenvoigt
 
8 - Sprachen Des Semantic Web - OWL
8 - Sprachen Des Semantic Web - OWL8 - Sprachen Des Semantic Web - OWL
8 - Sprachen Des Semantic Web - OWLSteffen Schloenvoigt
 
2 - Sprachen Des Semantic Web - XML
2 - Sprachen Des Semantic Web - XML2 - Sprachen Des Semantic Web - XML
2 - Sprachen Des Semantic Web - XMLSteffen Schloenvoigt
 

Mehr von Steffen Schloenvoigt (12)

Venture labs creativity course assignment 1 "Things we have in common"
Venture labs creativity course assignment 1 "Things we have in common"Venture labs creativity course assignment 1 "Things we have in common"
Venture labs creativity course assignment 1 "Things we have in common"
 
SWT2011 - 01 - Motivation
SWT2011 - 01 - MotivationSWT2011 - 01 - Motivation
SWT2011 - 01 - Motivation
 
SWT2011 - 02 - XML
SWT2011 - 02 - XMLSWT2011 - 02 - XML
SWT2011 - 02 - XML
 
SWT
SWTSWT
SWT
 
Swt ss10 07_owl
Swt ss10 07_owlSwt ss10 07_owl
Swt ss10 07_owl
 
Semantic Web Technologies - SS 2010 - 05 - RDF(S) Frameworks
Semantic Web Technologies - SS 2010 - 05 - RDF(S) FrameworksSemantic Web Technologies - SS 2010 - 05 - RDF(S) Frameworks
Semantic Web Technologies - SS 2010 - 05 - RDF(S) Frameworks
 
Semantic Web Technologies - SS 2010 - 03 - RDF
Semantic Web Technologies - SS 2010 - 03 - RDFSemantic Web Technologies - SS 2010 - 03 - RDF
Semantic Web Technologies - SS 2010 - 03 - RDF
 
Semantic Web Technologies - SS 2010 - 01 - Einfuehrung
Semantic Web Technologies - SS 2010 - 01 - EinfuehrungSemantic Web Technologies - SS 2010 - 01 - Einfuehrung
Semantic Web Technologies - SS 2010 - 01 - Einfuehrung
 
Semantic Web Technologies - SS 2010 - 02 - XML und URIs
Semantic Web Technologies - SS 2010 - 02 - XML und URIsSemantic Web Technologies - SS 2010 - 02 - XML und URIs
Semantic Web Technologies - SS 2010 - 02 - XML und URIs
 
8 - Sprachen Des Semantic Web - OWL
8 - Sprachen Des Semantic Web - OWL8 - Sprachen Des Semantic Web - OWL
8 - Sprachen Des Semantic Web - OWL
 
2 - Sprachen Des Semantic Web - XML
2 - Sprachen Des Semantic Web - XML2 - Sprachen Des Semantic Web - XML
2 - Sprachen Des Semantic Web - XML
 
1 - Einfuehrung
1 - Einfuehrung1 - Einfuehrung
1 - Einfuehrung
 

7 - Sprachen Des Semantic Web - SPARQL