Vorlesung Semantic Web Technologien, HTWG Konstanz WS 2009/2010.
Veranstaltung #7+8
Im Anschluss an die RDF(S)-Frameworks und einer Übungseinheit, haben wir uns in den letzten beiden Vorlesungen mit dem Thema SPARQL, der SPARQL Protocol And RDF Query Language, befasst.
Dabei wurden folgende Themen behandelt:
* SPARQL Query Language – Anfragesprache
o Erstellen einfacher Anfragen – Wie funktionieren Anfragemuster
o Behandlung von Literalen und Blank Nodes
o Gruppierung von Mustern, optionale Muster, alternative Muster, Kombination
o Filter, Vergleichsoperatore, Funktionen
o Modifikatoren zur Sortierung, Entfernung doppelter Lösungen und zur Aufteilung von Ergebnismengen
o Anfragetypen in SPARQL – SELECT, CONSTRUCT, ASK und DESCRIBE
o RDF Dataset – Default und Named Graphen
* SPARQL Query Result XML Format für SELECT und ASK Anfragen
* SPARQL Protokoll
* Zukünftige Features von SPARQL
o Aggregatfunktionen – COUNT, SUM, AVG etc.
o Subqueries
o Negation
o Project Expressions
o SPARQL Update – RDF Graphen verändern per Query Language
o Dienstbeschreibung
o Übersicht über eventuelle weitere Features
62. 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
63.
64. Zum Teil sind auch unerwünschte Ergebnisse enthalten
156. Definiert als einziges Interface SparqlQuery , welches wiederum die Methode query enthält
157.
158.
159.
160.
161. <!-- Abstract SparqlQuery Interface -> <interface name="SparqlQuery" styleDefault=" http://www.w3.org/2006/01/wsdl/style/iri "> <!-- the Interface Faults --> <fault name="MalformedQuery" element="st:malformed-query"/> <fault name="QueryRequestRefused" element="st:query-request-refused"/> <!-- the Interface Operation --> <operation name="query" pattern=" http://www.w3.org/2006/01/wsdl/in-out "> <documentation> The operation is used to convey queries and their results from clients to services and back again. </documentation> <input messageLabel=" In " element=" st:query-request "/> <output messageLabel=" Out " element=" st:query-result "/> <!-- the interface faults are out faults --> <outfault ref="tns:MalformedQuery" messageLabel="Out"/> <outfault ref="tns:QueryRequestRefused" messageLabel="Out"/> </operation> </interface>
227. Eine PE kann sein: Eine Variable, eine konstante URI, ein konstantes Literal, ein beliebiger Ausdruck (inkl. Funktionsaufrufe) über Variablen oder Konstanten