Presentation is loading. Please wait.

Presentation is loading. Please wait.

SPARQL Semantic Web - Spring 2008 Computer Engineering Department Sharif University of Technology.

Similar presentations


Presentation on theme: "SPARQL Semantic Web - Spring 2008 Computer Engineering Department Sharif University of Technology."— Presentation transcript:

1 SPARQL Semantic Web - Spring 2008 Computer Engineering Department Sharif University of Technology

2 2 Outline SPARQL Syntax Semantics

3 3 Introduction W3C recommendation 15 January 2008 for RDF query language Builds on previous RDF query languages such as rdfDB, RDQL, and SeRQL. SPARQL can be used to express queries across diverse data sources, whether the data is stored natively as RDF or viewed as RDF via middleware. SPARQL contains capabilities for querying required and optional graph patterns along with their conjunctions and disjunctions.

4 4 Making simple queries Most forms of SPARQL query contain a set of triple patterns called a basic graph pattern. Triple patterns are like RDF triples except that each of the subject, predicate and object may be a variable. A basic graph pattern matches a subgraph of the RDF data when RDF terms from that subgraph may be substituted for the variables and the result is RDF graph equivalent to the subgraph.RDF terms

5 5 Example

6 6 Multiple matches

7 7 Blank node labels in query results

8 8 Building RDF graphs

9 9 RDF term constraints

10 10 Restricting numeric values

11 11 Optional match

12 12 Multiple optional graph patterns

13 13 Matching alternatives

14 14 Example RDF

15 15 Example Simple Query: PREFIX foaf: SELECT ?url FROM WHERE { ?contributor foaf:name "Jon Foobar". ?contributor foaf:weblog ?url. }

16 16 Example (cont.) Optional block: PREFIX foaf: SELECT ?name ?depiction WHERE { ?person foaf:name ?name. OPTIONAL { ?person foaf:depiction ?depiction. } }

17 17 Example (cont.) Alternative matches: PREFIX foaf: PREFIX rdf: SELECT ?name ?mbox WHERE { ?person foaf:name ?name. { { ?person foaf:mbox ?mbox } UNION { ?person foaf:mbox_sha1sum ?mbox } } There are many other features in SparQL which is out of scope for this class. Refer to references for more information.

18 18 Semantics A SPARQL graph pattern expression is defined recursively as follows: –(1) A tuple from (IL[V )×(I[V )×(IL[V) is a graph pattern (a triple pattern). –(2) If P1 and P2 are graph patterns, then expressions (P1 AND P2), (P1 OPT P2), and (P1 UNION P2) are graph patterns. –(3) If P is a graph pattern and R is a SPARQL built-in condition, then the expression (P FILTER R) is a graph pattern.

19 19 Semantics (cont.) Semantics of SPARQL is defined using a mapping mechanism A shorthand notation is used to denote the triple obtained by replacing the variables in t according to Two mappings μ1 and μ2 are compatible when for all x in dom(μ1) intersect dom(μ2), it is the case that μ1(x) = μ2(x), i.e. when union of μ1 and μ2 is also a mapping.

20 20 Semantics (cont.) Let and be sets of mappings. We define the join of, the union of and the difference between and as:

21 21 Semantics (cont.)

22 22 Example Consider the RDF dataset D:

23 23 Example (cont.)

24 24 SPARQL vs SQL SPARQL SELECT ?sal WHERE { emps:e13954 HR:salary ?sal. } SQL SELECT salary FROM employees WHERE emp_id = 'e13954'

25 25 SPARQL vs SQL SPARQL SELECT ?id, ?sal WHERE { ?id HR:salary ?sal } SQL SELECT emp_id, salary FROM employees

26 26 SPARQL vs SQL SPARQL SELECT ?hdate WHERE { ?id HR:salary ?sal. ?id HR:hire_date ?hdate. FILTER ?sal >= 21750 } SQL SELECT hire_date FROM employees WHERE salary >= 21750

27 27 SPARQL vs SQL SPARQL SELECT ?hdate WHERE { ?id HR:salary ?sal. ?id HR:hire_date ?hdate. FILTER ?sal >= 21750 } SQL SELECT v.hire_date FROM emp_vars AS v, emp_consts AS c WHERE v.salary >= 21750 AND v.emp_id = c.emp_id

28 28 References http://www.w3.org/TR/rdf-sparql-query/ http://www- 128.ibm.com/developerworks/java/library/j-sparql/http://www- 128.ibm.com/developerworks/java/library/j-sparql/ JorgeP´erez, MarceloArenas, and ClaudioGutierrez, “Semantics and Complexity of SPARQL”, 5th International Semantic Web Conference, Athens, GA, USA, November 5-9, 2006, LNCS 4273


Download ppt "SPARQL Semantic Web - Spring 2008 Computer Engineering Department Sharif University of Technology."

Similar presentations


Ads by Google