SPARQL: Un Lenguaje de Consulta para la Web
|
|
|
- Bertina James
- 10 years ago
- Views:
Transcription
1 SPARQL: Un Lenguaje de Consulta para la Web Semántica Marcelo Arenas Pontificia Universidad Católica de Chile y Centro de Investigación de la Web M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 1 / 54
2 Outline RDF model Querying RDF data Conjunctive queries Entailment of RDF graphs Graphs with RDFS vocabulary Inference rules Querying RDFS data: Closure, Core. Querying RDF Data in practice: SPARQL Formal semantics for SPARQL Complexity of the SPARQL evaluation problem A procedural semantics: Well designed patterns M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 2 / 54
3 Semantic Web The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation. Specific Goals: [Tim Berners-Lee et al ] Build a description language with standard semantics. Make semantics machine-processable and understandable. Incorporate logical infrastructure to reason about resources. W3C Proposal: Resource Description Framework (RDF). M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 3 / 54
4 RDF in a nutshell RDF is the W3C proposal framework for representing information in the Web. Abstract syntax based on directed labeled graph. Schema definition language (RDFS): Define new vocabulary (typing, inheritance of classes and properties). Extensible URI-based vocabulary. Support use of XML schema datatypes. Formal semantics. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 4 / 54
5 RDF formal model U Subject Predicate Object U = set of Uris B = set of Blank nodes U B U B L L = set of Literals M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 5 / 54
6 RDF formal model U Subject Predicate Object U = set of Uris B = set of Blank nodes U B U B L L = set of Literals (s,p,o) (U B) U (U B L) is called an RDF triple M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 5 / 54
7 RDF formal model U Subject Predicate Object U = set of Uris B = set of Blank nodes U B U B L L = set of Literals (s,p,o) (U B) U (U B L) is called an RDF triple A set of RDF triples is called an RDF graph M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 5 / 54
8 RDFS: An example person rdf:dom works in rdf:range company rdf:sc sportman rdf:sp rdf:sc rdf:sc soccer player rdf:dom plays in rdf:range soccer team rdf:type rdf:type Ronaldinho plays in Barcelona lives in Spain M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 6 / 54
9 RDFS: An example person rdf:dom works in rdf:range company rdf:sc sportman rdf:sp rdf:sc rdf:sc soccer player rdf:dom plays in rdf:range soccer team rdf:type rdf:type Ronaldinho plays in Barcelona lives in Spain M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 6 / 54
10 RDF model Some difficulties: Existential variables as datavalues Built-in vocabulary with fixed semantics (RDFS) Graph model where nodes may also be edge labels RDF data processing can take advantage of database techniques: Query processing Storing Indexing M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 7 / 54
11 RDF model Some difficulties: Existential variables as datavalues Built-in vocabulary with fixed semantics (RDFS) Graph model where nodes may also be edge labels RDF data processing can take advantage of database techniques: Query processing Storing Indexing M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 7 / 54
12 Querying RDF data Conjunctive query: Q(X) = Y t 1 t 2 t k Some examples: M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 8 / 54
13 Querying RDF data Conjunctive query: Q(X) = Y t 1 t 2 t k Some examples: (Ronaldinho, plays in, Barcelona) M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 8 / 54
14 Querying RDF data Conjunctive query: Q(X) = Y t 1 t 2 t k Some examples: (Ronaldinho, plays in, Barcelona) (Ronaldinho, plays in, X) M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 8 / 54
15 Querying RDF data Conjunctive query: Q(X) = Y t 1 t 2 t k Some examples: Y (Ronaldinho, plays in, Barcelona) (Ronaldinho, plays in, X) (X, plays in, Y ) (X, lives in,spain) M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 8 / 54
16 Semantics of conjunctive queries Given an RDF graph G, a conjunctive query Q(X) and a tuple ā of values in U B L: Notation: G = Q(ā) Is ā an answer to Q(X) in G? Notice that Q(X) and ā may include blank nodes. Blank nodes play a similar role as existential variables. (Ronaldinho, plays in, B) and X (Ronaldinho, plays in, X) are equivalent. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 9 / 54
17 Conjunctive queries and entailment of RDF graphs Q(ā) can be transformed into an RDF graph G. Notion to define: G = G Entailment of RDF graphs: M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 10 / 54
18 Conjunctive queries and entailment of RDF graphs Q(ā) can be transformed into an RDF graph G. Notion to define: G = G Entailment of RDF graphs: Can be defined in terms of classical notions such model, interpretation, etc M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 10 / 54
19 Conjunctive queries and entailment of RDF graphs Q(ā) can be transformed into an RDF graph G. Notion to define: G = G Entailment of RDF graphs: Can be defined in terms of classical notions such model, interpretation, etc As for the case of first order logic M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 10 / 54
20 Conjunctive queries and entailment of RDF graphs Q(ā) can be transformed into an RDF graph G. Notion to define: G = G Entailment of RDF graphs: Can be defined in terms of classical notions such model, interpretation, etc As for the case of first order logic Has a graph characterization via homomorphisms. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 10 / 54
21 Homomorphism A function h : U B L U B L is a homomorphism h from G 1 to G 2 if: h(c) = c for every c U L; for every (a,b,c) G 1, (h(a),h(b),h(c)) G 2 Notation: G 1 G 2 Example: h = {B b} a p B a p p b b M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 11 / 54
22 Entailment Theorem (CM77) G 1 = G 2 if and only if there is a homomorphism G 2 G 1. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 12 / 54
23 Entailment Theorem (CM77) G 1 = G 2 if and only if there is a homomorphism G 2 G 1. a a p B p = p b b M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 12 / 54
24 Entailment Theorem (CM77) G 1 = G 2 if and only if there is a homomorphism G 2 G 1. a a p B p = p b b p M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 12 / 54
25 Entailment Theorem (CM77) G 1 = G 2 if and only if there is a homomorphism G 2 G 1. a a p B p = p b b p Complexity Entailment for RDF is NP-complete M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 12 / 54
26 Graphs with RDFS vocabulary Previous characterization of entailment is not enough to deal with RDFS vocabulary: M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 13 / 54
27 Graphs with RDFS vocabulary Previous characterization of entailment is not enough to deal with RDFS vocabulary: (Ronaldinho, rdf : type, person) person rdf:dom works in rdf:range company rdf:sc sportman rdf:sp rdf:sc rdf:sc soccer player rdf:dom plays in rdf:range soccer team rdf:type rdf:type Ronaldinho plays in Barcelona lives in Spain M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 13 / 54
28 Graphs with RDFS vocabulary Built-in predicates have pre-defined semantics: M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 14 / 54
29 Graphs with RDFS vocabulary Built-in predicates have pre-defined semantics: rdf:sc: transitive M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 14 / 54
30 Graphs with RDFS vocabulary Built-in predicates have pre-defined semantics: rdf:sc: transitive rdf:sp: transitive M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 14 / 54
31 Graphs with RDFS vocabulary Built-in predicates have pre-defined semantics: rdf:sc: transitive rdf:sp: transitive More complicated interactions: (p,rdf:dom, c) (a, p, b) (a, rdf:type, c) M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 14 / 54
32 Graphs with RDFS vocabulary Built-in predicates have pre-defined semantics: rdf:sc: transitive rdf:sp: transitive More complicated interactions: (p,rdf:dom, c) (a, p, b) (a, rdf:type, c) RDFS-entailment can be characterized by a set of rules An Existential rule Subproperty rules Subclass rules Typing rules Implicit typing M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 14 / 54
33 Graphs with RDFS vocabulary: Inference rules Inference system in [MPG07] has 14 rules: Existential rule : Subproperty rules : Subclass rules : Typing rules : Implicit typing : M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 15 / 54
34 Graphs with RDFS vocabulary: Inference rules Inference system in [MPG07] has 14 rules: Existential rule : G 1 G 2 if G 2 G 1 Subproperty rules : Subclass rules : Typing rules : Implicit typing : M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 15 / 54
35 Graphs with RDFS vocabulary: Inference rules Inference system in [MPG07] has 14 rules: Existential rule : Subproperty rules : G 1 G 2 if G 2 G 1 (p,rdf:sp, q) (a, p, b) (a, q, b) Subclass rules : Typing rules : Implicit typing : M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 15 / 54
36 Graphs with RDFS vocabulary: Inference rules Inference system in [MPG07] has 14 rules: Existential rule : Subproperty rules : Subclass rules : G 1 G 2 if G 2 G 1 (p,rdf:sp, q) (a, p, b) (a, q, b) (a, rdf:sc, b) (b, rdf:sc, c) (a, rdf:sc, c) Typing rules : Implicit typing : M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 15 / 54
37 Graphs with RDFS vocabulary: Inference rules Inference system in [MPG07] has 14 rules: Existential rule : Subproperty rules : Subclass rules : Typing rules : G 1 G 2 if G 2 G 1 (p,rdf:sp, q) (a, p, b) (a, q, b) (a, rdf:sc, b) (b, rdf:sc, c) (a, rdf:sc, c) (p,rdf:dom, c) (a, p, b) (a, rdf:type, c) Implicit typing : M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 15 / 54
38 Graphs with RDFS vocabulary: Inference rules Inference system in [MPG07] has 14 rules: Existential rule : Subproperty rules : Subclass rules : Typing rules : Implicit typing : G 1 G 2 if G 2 G 1 (p,rdf:sp, q) (a, p, b) (a, q, b) (a, rdf:sc, b) (b, rdf:sc, c) (a, rdf:sc, c) (p,rdf:dom, c) (a, p, b) (a, rdf:type, c) (q, rdf:dom, a) (p, rdf:sp, q) (b, p, c) (b, rdf:type, a) M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 15 / 54
39 Graphs with RDFS vocabulary: Inference rules Inference system in [MPG07] has 14 rules: Existential rule : Subproperty rules : (p,rdf:sp, q) (a, p, b) (a, q, b) Subclass rules : Typing rules : Implicit typing : (p,rdf:dom, c) (a, p, b) (a, rdf:type, c) (q, rdf:dom, a) (p, rdf:sp, q) (b, p, c) (b, rdf:type, a) M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 15 / 54
40 Graphs with RDFS vocabulary: Inference rules Inference system in [MPG07] has 14 rules: Existential rule : Subproperty rules : (p,rdf:sp, q) (a, p, b) (a, q, b) Subclass rules : Typing rules : Implicit typing : (p,rdf:dom, c) (a, p, b) (a, rdf:type, c) (B, rdf:dom, a) (p, rdf:sp, B) (b, p, c) (b, rdf:type, a) M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 15 / 54
41 RDFS Entailment Theorem (H03,GHM04,MPG07) G 1 = G 2 iff there is a proof of G 2 from G 1 using the system of 14 inference rules. Complexity RDFS-entailment is NP-complete. Proof idea Membership in NP: If G 1 = G 2, then there exists a polynomial-size proof of this fact. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 16 / 54
42 Querying RDFS data System of inference rules can be used as a mechanism for evaluating queries. It is difficult to implement. Is there any practical mechanism for evaluating queries? M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 17 / 54
43 Querying RDFS data System of inference rules can be used as a mechanism for evaluating queries. It is difficult to implement. Is there any practical mechanism for evaluating queries? Making explicit the implicit information. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 17 / 54
44 Closure of an RDF Graph Notation: ground(g) : Graph obtained by replacing every blank B in G by a constant c B. ground 1 (G) : Graph obtained by replacing every constant c B in G by B. Closure of an RDF graph G (denoted by closure(g)): M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 18 / 54
45 Closure of an RDF Graph Notation: ground(g) : Graph obtained by replacing every blank B in G by a constant c B. ground 1 (G) : Graph obtained by replacing every constant c B in G by B. Closure of an RDF graph G (denoted by closure(g)): G {t (U B) U (U B L) there exists a ground tuple t such that ground(g) = t and t = ground 1 (t )} M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 18 / 54
46 Closure of an RDF Graph: Example c c rdf : sc rdf : sc b b rdf : sc rdf : sc rdf : sc a a M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 19 / 54
47 Closure of an RDF Graph: Example c c rdf : sc rdf : sc b b rdf : sc rdf : sc rdf : sc a a M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 19 / 54
48 Querying RDFS data: Using the closure of a graph Proposition (H03,GHM04,MPG07) G 1 = G 2 iff G 2 closure(g 1 ) Complexity The closure of G can be computed in time O( G 4 log G ). M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 20 / 54
49 Querying RDFS data: Using the closure of a graph Proposition (H03,GHM04,MPG07) G 1 = G 2 iff G 2 closure(g 1 ) Complexity The closure of G can be computed in time O( G 4 log G ). Can the closure be used in practice? M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 20 / 54
50 Querying RDFS data: Using the closure of a graph Proposition (H03,GHM04,MPG07) G 1 = G 2 iff G 2 closure(g 1 ) Complexity The closure of G can be computed in time O( G 4 log G ). Can the closure be used in practice? Can we use an alternative materialization? M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 20 / 54
51 Querying RDFS data: Using the closure of a graph Proposition (H03,GHM04,MPG07) G 1 = G 2 iff G 2 closure(g 1 ) Complexity The closure of G can be computed in time O( G 4 log G ). Can the closure be used in practice? Can we use an alternative materialization? Can we materialize a small part of the closure? M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 20 / 54
52 Core of an RDF Graph An RDF Graph G is a core if there is no homomorphism from G to a proper subgraph of it. Theorem (HN92,FKP03,GHM04) Each RDF graph G has a unique core (denoted by core(g)). Deciding if G is a core is conp-complete. Deciding if G = core(g ) is DP-complete. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 21 / 54
53 Core and RDFS For RDF graphs with RDFS vocabulary, the core of G may contain redundant information: d d rdf : sc rdf : sc rdf : sc c c rdf : sc rdf : sc B rdf : sc b b rdf : sc rdf : sc rdf : sc a a M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 22 / 54
54 Core and RDFS For RDF graphs with RDFS vocabulary, the core of G may contain redundant information: d d rdf : sc rdf : sc rdf : sc c c rdf : sc rdf : sc B rdf : sc b b rdf : sc rdf : sc rdf : sc a a M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 22 / 54
55 Core and RDFS For RDF graphs with RDFS vocabulary, the core of G may contain redundant information: d d rdf : sc rdf : sc rdf : sc c c rdf : sc rdf : sc B rdf : sc b b rdf : sc rdf : sc rdf : sc a a M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 22 / 54
56 A normal form for RDF graphs To reduce the size of the materialization, we can combine both core and closure. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 23 / 54
57 A normal form for RDF graphs To reduce the size of the materialization, we can combine both core and closure. nf(g) = core(closure(g)) M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 23 / 54
58 A normal form for RDF graphs To reduce the size of the materialization, we can combine both core and closure. nf(g) = core(closure(g)) Theorem (GHM04) G 1 is equivalent to G 2 iff nf(g 1 ) = nf(g 2 ). G 1 = G 2 iff G 2 nf(g 1 ) M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 23 / 54
59 A normal form for RDF graphs To reduce the size of the materialization, we can combine both core and closure. nf(g) = core(closure(g)) Theorem (GHM04) G 1 is equivalent to G 2 iff nf(g 1 ) = nf(g 2 ). G 1 = G 2 iff G 2 nf(g 1 ) Complexity The problem of deciding if G 1 = nf(g 2 ) is DP-complete. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 23 / 54
60 Querying RDF Data in practice SPARQL is the W3C candidate recommendation query language for RDF. SPARQL is a graph-matching query language. A SPARQL query consists of three parts: Pattern matching: optional, union, nesting, filtering. Solution modifiers: projection, distinct, order, limit, offset. Output part: construction of new triples,.... M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 24 / 54
61 A simple RDF query language SELECT?Name? WHERE {?X :name?name?x : ? } M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 25 / 54
62 A simple RDF query language SELECT?Name? WHERE {?X :name?name?x : ? } M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 25 / 54
63 A simple RDF query language SELECT?Name? WHERE {?X :name?name?x : ? } M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 25 / 54
64 A simple RDF query language SELECT?Name? WHERE {?X :name?name?x : ? } M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 25 / 54
65 A simple RDF query language SELECT?Name? WHERE {?X :name?name?x : ? } In general, in a query we have: H Head: processing of some variables. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 25 / 54
66 A simple RDF query language SELECT?Name? WHERE {?X :name?name?x : ? } In general, in a query we have: H P Head: processing of some variables. Body: pattern matching expression. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 25 / 54
67 A simple RDF query language SELECT?Name? WHERE {?X :name?name?x : ? } In general, in a query we have: H P Head: processing of some variables. Body: pattern matching expression. We focus on P. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 25 / 54
68 But things can become more complex... Interesting features of pattern matching on graphs Grouping Optional parts Nesting Union of patterns Filtering... { P1 P2 } M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 26 / 54
69 But things can become more complex... Interesting features of pattern matching on graphs Grouping Optional parts Nesting Union of patterns Filtering... { { P1 P2 } } { P3 P4 } M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 26 / 54
70 But things can become more complex... Interesting features of pattern matching on graphs Grouping Optional parts Nesting Union of patterns Filtering... { { P1 P2 OPTIONAL { P5 } } } { P3 P4 OPTIONAL { P7 } } M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 26 / 54
71 But things can become more complex... Interesting features of pattern matching on graphs Grouping Optional parts Nesting Union of patterns Filtering... { { P1 P2 OPTIONAL { P5 } } } { P3 P4 OPTIONAL { P7 OPTIONAL { P8 } } } M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 26 / 54
72 But things can become more complex... Interesting features of pattern matching on graphs Grouping Optional parts Nesting Union of patterns Filtering... { { P1 P2 OPTIONAL { P5 } } { P3 P4 OPTIONAL { P7 OPTIONAL { P8 } } } } UNION { P9 } M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 26 / 54
73 But things can become more complex... Interesting features of pattern matching on graphs Grouping Optional parts Nesting Union of patterns Filtering... { { P1 P2 OPTIONAL { P5 } } { P3 P4 OPTIONAL { P7 OPTIONAL { P8 } } } } UNION { P9 FILTER ( R ) } M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 26 / 54
74 But things can become more complex... Interesting features of pattern matching on graphs Grouping Optional parts Nesting Union of patterns Filtering... { { P1 P2 OPTIONAL { P5 } } { P3 P4 OPTIONAL { P7 OPTIONAL { P8 } } } } UNION { P9 FILTER ( R ) } M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 26 / 54
75 A formal semantics for SPARQL is needed. A formal approach would be beneficial for: Clarifying corner cases Helping in the implementation process Providing sound foundations M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 27 / 54
76 A formal semantics for SPARQL is needed. A formal approach would be beneficial for: Clarifying corner cases Helping in the implementation process Providing sound foundations Our primary interest M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 27 / 54
77 A formal semantics for SPARQL is needed. A formal approach would be beneficial for: Clarifying corner cases Helping in the implementation process Providing sound foundations Our primary interest In our work: A formal compositional semantics (for simple RDF) Complexity bounds Optimization procedures M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 27 / 54
78 A standard algebraic syntax Triple patterns: just triples + variables, without blanks?x :name "john" (?X, name, john) Graph patterns: full parenthesized algebra { P1 P2 } (P 1 AND P 2 ) { P1 OPTIONAL { P2 }} (P 1 OPT P 2 ) { P1 } UNION { P2 } (P 1 UNION P 2 ) { P1 FILTER ( R ) } (P 1 FILTER R ) original SPARQL syntax algebraic syntax M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 28 / 54
79 A standard algebraic syntax Explicit precedence/association Example { t1 t2 OPTIONAL { t3 } OPTIONAL { t4 } t5 } ((((t 1 AND t 2 ) OPT t 3 ) OPT t 4 ) AND t 5 ) M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 29 / 54
80 Mappings: building block for the semantics Definition A mapping is a partial function from variables to RDF terms. The evaluation of a pattern results in a set of mappings. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 30 / 54
81 Mappings: building block for the semantics Definition A mapping is a partial function from variables to RDF terms. The evaluation of a pattern results in a set of mappings. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 30 / 54
82 The semantics of triple patterns Given an RDF graph and a triple pattern t Definition The evaluation of t is the set of mappings that M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 31 / 54
83 The semantics of triple patterns Given an RDF graph and a triple pattern t Definition The evaluation of t is the set of mappings that make t to match the graph M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 31 / 54
84 The semantics of triple patterns Given an RDF graph and a triple pattern t Definition The evaluation of t is the set of mappings that make t to match the graph have as domain the variables in t. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 31 / 54
85 The semantics of triple patterns Given an RDF graph and a triple pattern t Definition The evaluation of t is the set of mappings that make t to match the graph have as domain the variables in t. Example graph triple evaluation (R 1, name, john)?x?y (R 1, , [email protected]) (?X, name,?y ) µ 1 : R 1 john (R 2, name, paul) µ 2 : R 2 paul M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 31 / 54
86 The semantics of triple patterns Given an RDF graph and a triple pattern t Definition The evaluation of t is the set of mappings that make t to match the graph have as domain the variables in t. Example graph triple evaluation (R 1, name, john)?x?y (R 1, , [email protected]) (?X, name,?y ) µ 1 : R 1 john (R 2, name, paul) µ 2 : R 2 paul M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 31 / 54
87 The semantics of triple patterns Given an RDF graph and a triple pattern t Definition The evaluation of t is the set of mappings that make t to match the graph have as domain the variables in t. Example graph triple evaluation (R 1, name, john)?x?y (R 1, , [email protected]) (?X, name,?y ) µ 1 : R 1 john (R 2, name, paul) µ 2 : R 2 paul M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 31 / 54
88 Compatible mappings Definition Two mappings are compatible if they agree in their shared variables. Example?X?Y?Z?V µ 1 : R 1 john µ 2 : R 1 [email protected] µ 3 : [email protected] R 2 M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 32 / 54
89 Compatible mappings Definition Two mappings are compatible if they agree in their shared variables. Example?X?Y?Z?V µ 1 : R 1 john µ 2 : R 1 [email protected] µ 3 : [email protected] R 2 M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 32 / 54
90 Compatible mappings Definition Two mappings are compatible if they agree in their shared variables. Example?X?Y?Z?V µ 1 : R 1 john µ 2 : R 1 [email protected] µ 3 : [email protected] R 2 µ 1 µ 2 : R 1 john [email protected] M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 32 / 54
91 Compatible mappings Definition Two mappings are compatible if they agree in their shared variables. Example?X?Y?Z?V µ 1 : R 1 john µ 2 : R 1 [email protected] µ 3 : [email protected] R 2 µ 1 µ 2 : R 1 john [email protected] M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 32 / 54
92 Compatible mappings Definition Two mappings are compatible if they agree in their shared variables. Example?X?Y?Z?V µ 1 : R 1 john µ 2 : R 1 [email protected] µ 3 : [email protected] R 2 µ 1 µ 2 : R 1 john [email protected] µ 1 µ 3 : R 1 john [email protected] R 2 M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 32 / 54
93 Compatible mappings Definition Two mappings are compatible if they agree in their shared variables. Example?X?Y?Z?V µ 1 : R 1 john µ 2 : R 1 [email protected] µ 3 : [email protected] R 2 µ 1 µ 2 : R 1 john [email protected] µ 1 µ 3 : R 1 john [email protected] R 2 µ 2 and µ 3 are not compatible M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 32 / 54
94 Sets of mappings and operations Let M 1 and M 2 be sets of mappings: Definition M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 33 / 54
95 Sets of mappings and operations Let M 1 and M 2 be sets of mappings: Definition Join: M 1 M 2 extending mappings in M 1 with compatible mappings in M 2 M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 33 / 54
96 Sets of mappings and operations Let M 1 and M 2 be sets of mappings: Definition Join: M 1 M 2 extending mappings in M 1 with compatible mappings in M 2 Difference: M 1 M 2 mappings in M 1 that cannot be extended with mappings in M 2 M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 33 / 54
97 Sets of mappings and operations Let M 1 and M 2 be sets of mappings: Definition Join: M 1 M 2 extending mappings in M 1 with compatible mappings in M 2 Difference: M 1 M 2 mappings in M 1 that cannot be extended with mappings in M 2 Union: M 1 M 2 mappings in M 1 plus mappings in M 2 (set theoretical union) M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 33 / 54
98 Sets of mappings and operations Let M 1 and M 2 be sets of mappings: Definition Join: M 1 M 2 extending mappings in M 1 with compatible mappings in M 2 Difference: M 1 M 2 mappings in M 1 that cannot be extended with mappings in M 2 Union: M 1 M 2 mappings in M 1 plus mappings in M 2 (set theoretical union) Definition Left Outer Join: M 1 M 2 = (M 1 M 2 ) (M 1 M 2 ) M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 33 / 54
99 Semantics of SPARQL operators Let M 1 and M 2 be the result of evaluating P 1 and P 2. Definition The evaluation of: (P 1 AND P 2 ) (P 1 UNION P 2 ) (P 1 OPT P 2 ) M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 34 / 54
100 Semantics of SPARQL operators Let M 1 and M 2 be the result of evaluating P 1 and P 2. Definition The evaluation of: (P 1 AND P 2 ) M 1 M 2 (P 1 UNION P 2 ) (P 1 OPT P 2 ) M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 34 / 54
101 Semantics of SPARQL operators Let M 1 and M 2 be the result of evaluating P 1 and P 2. Definition The evaluation of: (P 1 AND P 2 ) M 1 M 2 (P 1 UNION P 2 ) M 1 M 2 (P 1 OPT P 2 ) M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 34 / 54
102 Semantics of SPARQL operators Let M 1 and M 2 be the result of evaluating P 1 and P 2. Definition The evaluation of: (P 1 AND P 2 ) M 1 M 2 (P 1 UNION P 2 ) M 1 M 2 (P 1 OPT P 2 ) M 1 M 2 M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 34 / 54
103 Simple example Example (R 1, name, john) (R 1, , (R 2, name, paul) ((?X, name,?y ) OPT (?X, ,?e)) M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 35 / 54
104 Simple example Example (R 1, name, john) (R 1, , (R 2, name, paul) ((?X, name,?y ) OPT (?X, ,?e)) M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 35 / 54
105 Simple example Example (R 1, name, john) (R 1, , (R 2, name, paul) ((?X, name,?y ) OPT (?X, ,?e))?x?y R 1 john paul R 2 M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 35 / 54
106 Simple example Example (R 1, name, john) (R 1, , (R 2, name, paul) ((?X, name,?y ) OPT (?X, ,?e))?x?y R 1 john paul R 2 M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 35 / 54
107 Simple example Example (R 1, name, john) (R 1, , (R 2, name, paul) ((?X, name,?y ) OPT (?X, ,?e))?x?y R 1 john paul R 2?X?E R 1 [email protected] M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 35 / 54
108 Simple example Example (R 1, name, john) (R 1, , (R 2, name, paul) ((?X, name,?y ) OPT (?X, ,?e))?x?y R 1 john paul R 2?X?E R 1 [email protected] M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 35 / 54
109 Simple example Example (R 1, name, john) (R 1, , (R 2, name, paul) ((?X, name,?y ) OPT (?X, ,?e))?x?y R 1 john paul R 2?X?Y?E R 1 john [email protected] R 2 paul?x?e R 1 [email protected] M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 35 / 54
110 Simple example Example (R 1, name, john) (R 1, , (R 2, name, paul) ((?X, name,?y ) OPT (?X, ,?e))?x?y R 1 john paul R 2?X?Y?E R 1 john [email protected] R 2 paul?x?e R 1 [email protected] from the Join M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 35 / 54
111 Simple example Example (R 1, name, john) (R 1, , (R 2, name, paul) ((?X, name,?y ) OPT (?X, ,?e))?x?y R 1 john paul R 2?X?Y?E R 1 john [email protected] R 2 paul?x?e R 1 [email protected] from the Difference M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 35 / 54
112 Simple example Example (R 1, name, john) (R 1, , (R 2, name, paul) ((?X, name,?y ) OPT (?X, ,?e))?x?y R 1 john paul R 2?X?Y?E R 1 john [email protected] R 2 paul?x?e R 1 [email protected] from the Union M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 35 / 54
113 Boolean filter expressions (value constraints) In filter expressions we consider equality = among variables and RDF terms unary predicate bound boolean combinations (,, ) M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 36 / 54
114 Satisfaction of value constraints A mapping satisfies?x = c if it gives the value c to variable?x?x =?Y if it gives the same value to?x and?y bound(?x) if it is defined for?x Definition Evaluation of (P FILTER R): Set of mappings in the evaluation of P that satisfy R. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 37 / 54
115 Natural algebraic properties: A simple normal from AND and UNION are commutative and associative. AND, OPT, and FILTER distribute over UNION. Theorem (UNION Normal Form) Every graph pattern is equivalent to one of the form P 1 UNION P 2 UNION UNION P n where each P i is UNION free. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 38 / 54
116 The evaluation problem Input: A mapping, a graph pattern, and an RDF graph. Question: Is the mapping in the evaluation of the pattern against the graph? M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 39 / 54
117 Evaluation of simple patterns is polynomial. Theorem (PAG06) For patterns using only AND and FILTER operators, the evaluation problem is polynomial: O(size of the pattern size of the graph). M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 40 / 54
118 Evaluation of simple patterns is polynomial. Theorem (PAG06) For patterns using only AND and FILTER operators, the evaluation problem is polynomial: O(size of the pattern size of the graph). Proof idea Check that the mapping makes every triple to match. Then check that the mapping satisfies the FILTERs. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 40 / 54
119 Evaluation including UNION is NP-complete. Theorem (PAG06) For patterns using only AND, FILTER and UNION operators, the evaluation problem is NP-complete. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 41 / 54
120 Evaluation including UNION is NP-complete. Theorem (PAG06) For patterns using only AND, FILTER and UNION operators, the evaluation problem is NP-complete. Proof idea Reduction from 3SAT. A pattern encodes the propositional formula. bound is used to encode negation. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 41 / 54
121 Evaluation including UNION is NP-complete. Theorem (PAG06) For patterns using only AND, FILTER and UNION operators, the evaluation problem is NP-complete. Proof idea Reduction from 3SAT. A pattern encodes the propositional formula. bound is used to encode negation. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 41 / 54
122 In general: Evaluation problem is PSPACE-complete. Theorem (PAG06) For general patterns that include OPT operator, the evaluation problem is PSPACE-complete. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 42 / 54
123 In general: Evaluation problem is PSPACE-complete. Theorem (PAG06) For general patterns that include OPT operator, the evaluation problem is PSPACE-complete. Proof idea Reduction from QBF A pattern encodes a quantified propositional formula: x 1 y 1 x 2 y 2 ψ. nested OPTs are used to encode quantifier alternation. (This time, we do not need bound.) M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 42 / 54
124 In general: Evaluation problem is PSPACE-complete. Theorem (PAG06) For general patterns that include OPT operator, the evaluation problem is PSPACE-complete. Proof idea Reduction from QBF A pattern encodes a quantified propositional formula: x 1 y 1 x 2 y 2 ψ. nested OPTs are used to encode quantifier alternation. (This time, we do not need bound.) M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 42 / 54
125 PSPACE-hardness: A closer look Assume ϕ = x 1 y 1 ψ, where ψ = (x 1 y 1 ) ( x 1 y 1 ). We generate G, P ϕ and µ 0 such that µ 0 belongs to the answer of P ϕ over G iff ϕ is valid: G : P ψ : P ϕ : µ 0 : M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 43 / 54
126 PSPACE-hardness: A closer look Assume ϕ = x 1 y 1 ψ, where ψ = (x 1 y 1 ) ( x 1 y 1 ). We generate G, P ϕ and µ 0 such that µ 0 belongs to the answer of P ϕ over G iff ϕ is valid: G : {(a,tv,0), (a,tv,1), (a,false,0), (a,true,1)} P ψ : P ϕ : µ 0 : M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 43 / 54
127 PSPACE-hardness: A closer look Assume ϕ = x 1 y 1 ψ, where ψ = (x 1 y 1 ) ( x 1 y 1 ). We generate G, P ϕ and µ 0 such that µ 0 belongs to the answer of P ϕ over G iff ϕ is valid: G : {(a,tv,0), (a,tv,1), (a,false,0), (a,true,1)} P ψ : ((a,true,?x 1 ) UNION (a,false,?y 1 )) AND ((a,false,?x 1 ) UNION (a,true,?y 1 )) P ϕ : µ 0 : M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 43 / 54
128 PSPACE-hardness: A closer look Assume ϕ = x 1 y 1 ψ, where ψ = (x 1 y 1 ) ( x 1 y 1 ). We generate G, P ϕ and µ 0 such that µ 0 belongs to the answer of P ϕ over G iff ϕ is valid: G : {(a,tv,0), (a,tv,1), (a,false,0), (a,true,1)} P ψ : ((a,true,?x 1 ) UNION (a,false,?y 1 )) AND ((a,false,?x 1 ) UNION (a,true,?y 1 )) P ϕ : (a,true,?b 0 ) OPT (P 1 OPT (Q 1 AND P ψ )) µ 0 : M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 43 / 54
129 PSPACE-hardness: A closer look Assume ϕ = x 1 y 1 ψ, where ψ = (x 1 y 1 ) ( x 1 y 1 ). We generate G, P ϕ and µ 0 such that µ 0 belongs to the answer of P ϕ over G iff ϕ is valid: G : {(a,tv,0), (a,tv,1), (a,false,0), (a,true,1)} P ψ : ((a,true,?x 1 ) UNION (a,false,?y 1 )) AND ((a,false,?x 1 ) UNION (a,true,?y 1 )) P ϕ : (a,true,?b 0 ) OPT (P 1 OPT (Q 1 AND P ψ )) µ 0 : {?B 0 1} M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 43 / 54
130 PSPACE-hardness: A closer look P ϕ : (a,true,?b 0 ) OPT (P 1 OPT (Q 1 AND P ψ )) P 1 : (a,tv,?x 1 ) Q 1 : (a,tv,?x 1 ) AND (a,tv,?y 1 ) AND (a,false,?b 0 ) M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 44 / 54
131 PSPACE-hardness: A closer look P ϕ : (a,true,?b 0 ) OPT (P 1 OPT (Q 1 AND P ψ )) P 1 : (a,tv,?x 1 ) Q 1 : (a,tv,?x 1 ) AND (a,tv,?y 1 ) AND (a,false,?b 0 ) P 1?X 1 0 Q 1?X 1 0?Y 1 i?b 0 0?B 0 1?X 1 1?X 1 1?Y 1 j?b 0 0 M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 44 / 54
132 PSPACE-hardness: A closer look P ϕ : (a,true,?b 0 ) OPT (P 1 OPT (Q 1 AND P ψ )) P 1 : (a,tv,?x 1 ) Q 1 : (a,tv,?x 1 ) AND (a,tv,?y 1 ) AND (a,false,?b 0 ) P 1?X 1 0 Q 1?X 1 0?Y 1 i?b 0 0?B 0 1?X 1 1?X 1 1?Y 1 j?b 0 0 M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 44 / 54
133 PSPACE-hardness: A closer look P ϕ : (a,true,?b 0 ) OPT (P 1 OPT (Q 1 AND P ψ )) P 1 : (a,tv,?x 1 ) Q 1 : (a,tv,?x 1 ) AND (a,tv,?y 1 ) AND (a,false,?b 0 ) P 1?X 1 0 Q 1?X 1 0?Y 1 i?b 0 0?B 0 1?X 1 1?X 1 1?Y 1 j?b 0 0 M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 44 / 54
134 PSPACE-hardness: A closer look P ϕ : (a,true,?b 0 ) OPT (P 1 OPT (Q 1 AND P ψ )) P 1 : (a,tv,?x 1 ) Q 1 : (a,tv,?x 1 ) AND (a,tv,?y 1 ) AND (a,false,?b 0 ) P 1?X 1 0 Q 1?X 1 0?Y 1 i?b 0 0?B 0 1?X 1 1?X 1 1?Y 1 j?b 0 0 M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 44 / 54
135 PSPACE-hardness: A closer look P ϕ : (a,true,?b 0 ) OPT (P 1 OPT (Q 1 AND P ψ )) P 1 : (a,tv,?x 1 ) Q 1 : (a,tv,?x 1 ) AND (a,tv,?y 1 ) AND (a,false,?b 0 ) P 1?X 1 0 Q 1?X 1 0?Y 1 i?b 0 0?B 0 1?X 1 1?X 1 1?Y 1 j?b 0 0 M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 44 / 54
136 Data complexity is polynomial Theorem (PAG06) When patterns are consider to be fixed (data complexity), the evaluation problem is in LOGSPACE. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 45 / 54
137 Data complexity is polynomial Theorem (PAG06) When patterns are consider to be fixed (data complexity), the evaluation problem is in LOGSPACE. Proof idea From data complexity of first order logic. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 45 / 54
138 A procedural semantics Suggestion of the W3C to evaluate query A OPT(B OPTC): First compute the mappings that match A, then check which of these mappings match B, and for those who match B check whether they also match C. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 46 / 54
139 A procedural semantics Suggestion of the W3C to evaluate query A OPT(B OPTC): First compute the mappings that match A, then check which of these mappings match B, and for those who match B check whether they also match C. Depth first traversal of queries parse trees. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 46 / 54
140 A procedural semantics Suggestion of the W3C to evaluate query A OPT(B OPTC): First compute the mappings that match A, then check which of these mappings match B, and for those who match B check whether they also match C. Depth first traversal of queries parse trees. As opposed to the bottom-up evaluation induced by the compositional semantics. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 46 / 54
141 A procedural semantics Consider: (A AND (B OPT (C OPT D))) AND A OPT B OPT C Algebraic semantics: induces the usual bottom up evaluation. Alternative semantics: depth first traversal of the parse tree. Similar to the procedural semantics of Jena/ARQ Navigational semantics of nested OPTs in official SPARQL (April 2006) These two evaluation algorithms do not always coincide. D M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 47 / 54
142 A procedural semantics Consider: (A AND (B OPT (C OPT D))) AND A OPT B OPT C Algebraic semantics: induces the usual bottom up evaluation. Alternative semantics: depth first traversal of the parse tree. Similar to the procedural semantics of Jena/ARQ Navigational semantics of nested OPTs in official SPARQL (April 2006) These two evaluation algorithms do not always coincide. D M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 47 / 54
143 A procedural semantics Consider: (A AND (B OPT (C OPT D))) AND A OPT B OPT C Algebraic semantics: induces the usual bottom up evaluation. Alternative semantics: depth first traversal of the parse tree. Similar to the procedural semantics of Jena/ARQ Navigational semantics of nested OPTs in official SPARQL (April 2006) These two evaluation algorithms do not always coincide. D M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 47 / 54
144 A procedural semantics Consider: (A AND (B OPT (C OPT D))) AND A OPT B OPT C Algebraic semantics: induces the usual bottom up evaluation. Alternative semantics: depth first traversal of the parse tree. Similar to the procedural semantics of Jena/ARQ Navigational semantics of nested OPTs in official SPARQL (April 2006) These two evaluation algorithms do not always coincide. D M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 47 / 54
145 A procedural semantics Consider: (A AND (B OPT (C OPT D))) AND A OPT B OPT C Algebraic semantics: induces the usual bottom up evaluation. Alternative semantics: depth first traversal of the parse tree. Similar to the procedural semantics of Jena/ARQ Navigational semantics of nested OPTs in official SPARQL (April 2006) These two evaluation algorithms do not always coincide. D M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 47 / 54
146 A procedural semantics Consider: (A AND (B OPT (C OPT D))) AND A OPT B OPT C Algebraic semantics: induces the usual bottom up evaluation. Alternative semantics: depth first traversal of the parse tree. Similar to the procedural semantics of Jena/ARQ Navigational semantics of nested OPTs in official SPARQL (April 2006) These two evaluation algorithms do not always coincide. D M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 47 / 54
147 A procedural semantics Consider: (A AND (B OPT (C OPT D))) AND A OPT B OPT C Algebraic semantics: induces the usual bottom up evaluation. Alternative semantics: depth first traversal of the parse tree. Similar to the procedural semantics of Jena/ARQ Navigational semantics of nested OPTs in official SPARQL (April 2006) These two evaluation algorithms do not always coincide. D M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 47 / 54
148 A procedural semantics Consider: (A AND (B OPT (C OPT D))) AND A OPT B OPT C Algebraic semantics: induces the usual bottom up evaluation. Alternative semantics: depth first traversal of the parse tree. Similar to the procedural semantics of Jena/ARQ Navigational semantics of nested OPTs in official SPARQL (April 2006) These two evaluation algorithms do not always coincide. D M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 47 / 54
149 A procedural semantics Consider: (A AND (B OPT (C OPT D))) AND A OPT B OPT C Algebraic semantics: induces the usual bottom up evaluation. Alternative semantics: depth first traversal of the parse tree. Similar to the procedural semantics of Jena/ARQ Navigational semantics of nested OPTs in official SPARQL (April 2006) These two evaluation algorithms do not always coincide. D M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 47 / 54
150 A procedural semantics Consider: (A AND (B OPT (C OPT D))) AND A OPT B OPT C Algebraic semantics: induces the usual bottom up evaluation. Alternative semantics: depth first traversal of the parse tree. Similar to the procedural semantics of Jena/ARQ Navigational semantics of nested OPTs in official SPARQL (April 2006) These two evaluation algorithms do not always coincide. D M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 47 / 54
151 A procedural semantics Consider: (A AND (B OPT (C OPT D))) AND A OPT B OPT C Algebraic semantics: induces the usual bottom up evaluation. Alternative semantics: depth first traversal of the parse tree. Similar to the procedural semantics of Jena/ARQ Navigational semantics of nested OPTs in official SPARQL (April 2006) These two evaluation algorithms do not always coincide. D M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 47 / 54
152 A procedural semantics Consider: (A AND (B OPT (C OPT D))) AND A OPT B OPT C Algebraic semantics: induces the usual bottom up evaluation. Alternative semantics: depth first traversal of the parse tree. Similar to the procedural semantics of Jena/ARQ Navigational semantics of nested OPTs in official SPARQL (April 2006) These two evaluation algorithms do not always coincide. D M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 47 / 54
153 A procedural semantics Consider: (A AND (B OPT (C OPT D))) AND A OPT B OPT C Algebraic semantics: induces the usual bottom up evaluation. Alternative semantics: depth first traversal of the parse tree. Similar to the procedural semantics of Jena/ARQ Navigational semantics of nested OPTs in official SPARQL (April 2006) These two evaluation algorithms do not always coincide. D M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 47 / 54
154 A procedural semantics Depth first traversal evaluation: Efficient (greedy): uses intermediate results to avoid some computations. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 48 / 54
155 A procedural semantics Depth first traversal evaluation: Efficient (greedy): uses intermediate results to avoid some computations. non-compositional AND of patterns is non-commutative M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 48 / 54
156 Well designed patterns Definition A graph pattern is well designed iff for every OPT in the pattern ( ( A OPT B ) ) if a variable occurs inside B and anywhere outside the OPT, then the variable must also occur inside A. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 49 / 54
157 Well designed patterns Definition A graph pattern is well designed iff for every OPT in the pattern ( ( A OPT B ) ) if a variable occurs inside B and anywhere outside the OPT, then the variable must also occur inside A. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 49 / 54
158 Well designed patterns Definition A graph pattern is well designed iff for every OPT in the pattern ( ( A OPT B ) ) if a variable occurs inside B and anywhere outside the OPT, then the variable must also occur inside A. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 49 / 54
159 Well designed patterns Definition A graph pattern is well designed iff for every OPT in the pattern ( ( A OPT B ) ) if a variable occurs inside B and anywhere outside the OPT, then the variable must also occur inside A. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 49 / 54
160 Well designed patterns Definition A graph pattern is well designed iff for every OPT in the pattern ( ( A OPT B ) ) if a variable occurs inside B and anywhere outside the OPT, then the variable must also occur inside A. Example ( ( (?Y, name, paul) OPT (?X, ,?z) ) AND (?X, name, john) ) M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 49 / 54
161 Well designed patterns Definition A graph pattern is well designed iff for every OPT in the pattern ( ( A OPT B ) ) if a variable occurs inside B and anywhere outside the OPT, then the variable must also occur inside A. Example ( ( (?Y, name, paul) OPT (?X, ,?z) ) AND (?X, name, john) ) M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 49 / 54
162 Well designed patterns Definition A graph pattern is well designed iff for every OPT in the pattern ( ( A OPT B ) ) if a variable occurs inside B and anywhere outside the OPT, then the variable must also occur inside A. Example ( ( (?Y, name, paul) OPT (?X, ,?z) ) AND (?X, name, john) ) M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 49 / 54
163 Well designed patterns Definition A graph pattern is well designed iff for every OPT in the pattern ( ( A OPT B ) ) if a variable occurs inside B and anywhere outside the OPT, then the variable must also occur inside A. Example ( ( (?Y, name, paul) OPT (?X, ,?z) ) AND (?X, name, john) ) M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 49 / 54
164 Well designed patterns and PSPACE-hardness In the PSPACE-hardness reduction we use this formula: P ϕ : (a,true,?b 0 ) OPT (P 1 OPT (Q 1 AND P ψ )) P 1 : (a,tv,?x 1 ) Q 1 : (a,tv,?x 1 ) AND (a,tv,?y 1 ) AND (a,false,?b 0 ) M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 50 / 54
165 Well designed patterns and PSPACE-hardness In the PSPACE-hardness reduction we use this formula: P ϕ : (a,true,?b 0 ) OPT (P 1 OPT (Q 1 AND P ψ )) P 1 : (a,tv,?x 1 ) Q 1 : (a,tv,?x 1 ) AND (a,tv,?y 1 ) AND (a,false,?b 0 ) It is not well-designed: B 0 M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 50 / 54
166 Well designed patterns Theorem (PAG06) For well designed graph patterns: depth first traversal evaluation = compositional semantics M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 51 / 54
167 Classical optimization is not directly applicable. Classical optimization assumes null rejection. null rejection: the join/outer join condition must fail in the presence of null. SPARQL operations are not null rejecting. by definition of compatible mappings. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 52 / 54
168 Classical optimization is not directly applicable. Classical optimization assumes null rejection. null rejection: the join/outer join condition must fail in the presence of null. SPARQL operations are not null rejecting. by definition of compatible mappings. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 52 / 54
169 Classical optimization is not directly applicable. Classical optimization assumes null rejection. null rejection: the join/outer join condition must fail in the presence of null. SPARQL operations are not null rejecting. by definition of compatible mappings. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 52 / 54
170 Well designed graph patterns and optimization Well designed patterns are suitable for reordering optimization: Theorem (OPT Normal Form) Every well designed pattern is equivalent to one of the form ( (t 1 AND AND t k ) OPT O 1 ) ) OPT O n ) where each t i is a triple pattern, and each O j is a pattern of the same form. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 53 / 54
171 Well designed graph patterns and optimization Well designed patterns are suitable for reordering optimization: Theorem (OPT Normal Form) Every well designed pattern is equivalent to one of the form ( (t 1 AND AND t k ) OPT O 1 ) ) OPT O n ) where each t i is a triple pattern, and each O j is a pattern of the same form. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 53 / 54
172 Final remarks RDFS can be considered a new data model. It is the W3C s recommendation for describing Web metadata. RDFS can definitely benefit from database technology. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 54 / 54
173 Final remarks RDFS can be considered a new data model. It is the W3C s recommendation for describing Web metadata. RDFS can definitely benefit from database technology. RDFS: M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 54 / 54
174 Final remarks RDFS can be considered a new data model. It is the W3C s recommendation for describing Web metadata. RDFS can definitely benefit from database technology. RDFS: Formal semantics, M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 54 / 54
175 Final remarks RDFS can be considered a new data model. It is the W3C s recommendation for describing Web metadata. RDFS can definitely benefit from database technology. RDFS: Formal semantics, entailment of RDFS graphs, M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 54 / 54
176 Final remarks RDFS can be considered a new data model. It is the W3C s recommendation for describing Web metadata. RDFS can definitely benefit from database technology. RDFS: Formal semantics, entailment of RDFS graphs, normal forms for RDFS graphs (closure and core). M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 54 / 54
177 Final remarks RDFS can be considered a new data model. It is the W3C s recommendation for describing Web metadata. RDFS can definitely benefit from database technology. RDFS: Formal semantics, entailment of RDFS graphs, normal forms for RDFS graphs (closure and core). SPARQL: M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 54 / 54
178 Final remarks RDFS can be considered a new data model. It is the W3C s recommendation for describing Web metadata. RDFS can definitely benefit from database technology. RDFS: Formal semantics, entailment of RDFS graphs, normal forms for RDFS graphs (closure and core). SPARQL: Formal semantics, M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 54 / 54
179 Final remarks RDFS can be considered a new data model. It is the W3C s recommendation for describing Web metadata. RDFS can definitely benefit from database technology. RDFS: Formal semantics, entailment of RDFS graphs, normal forms for RDFS graphs (closure and core). SPARQL: Formal semantics, complexity of query evaluation, M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 54 / 54
180 Final remarks RDFS can be considered a new data model. It is the W3C s recommendation for describing Web metadata. RDFS can definitely benefit from database technology. RDFS: Formal semantics, entailment of RDFS graphs, normal forms for RDFS graphs (closure and core). SPARQL: Formal semantics, complexity of query evaluation, query optimization. M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 54 / 54
181 Final remarks RDFS can be considered a new data model. It is the W3C s recommendation for describing Web metadata. RDFS can definitely benefit from database technology. RDFS: Formal semantics, entailment of RDFS graphs, normal forms for RDFS graphs (closure and core). SPARQL: Formal semantics, complexity of query evaluation, query optimization. Updating M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 54 / 54
182 Final remarks RDFS can be considered a new data model. It is the W3C s recommendation for describing Web metadata. RDFS can definitely benefit from database technology. RDFS: Formal semantics, entailment of RDFS graphs, normal forms for RDFS graphs (closure and core). SPARQL: Formal semantics, complexity of query evaluation, query optimization. Updating... M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica 54 / 54
RDF y SPARQL: Dos componentes básicos para la Web de datos
RDF y SPARQL: Dos componentes básicos para la Web de datos Marcelo Arenas PUC Chile & University of Oxford M. Arenas RDF y SPARQL: Dos componentes básicos para la Web de datos Valladolid 2013 1 / 61 Semantic
Introduction to Logic in Computer Science: Autumn 2006
Introduction to Logic in Computer Science: Autumn 2006 Ulle Endriss Institute for Logic, Language and Computation University of Amsterdam Ulle Endriss 1 Plan for Today Now that we have a basic understanding
Logic and Reasoning in the Semantic Web (part I RDF/RDFS)
Logic and Reasoning in the Semantic Web (part I RDF/RDFS) Fulvio Corno, Laura Farinetti Politecnico di Torino Dipartimento di Automatica e Informatica e-lite Research Group http://elite.polito.it Outline
Formalization of the CRM: Initial Thoughts
Formalization of the CRM: Initial Thoughts Carlo Meghini Istituto di Scienza e Tecnologie della Informazione Consiglio Nazionale delle Ricerche Pisa CRM SIG Meeting Iraklio, October 1st, 2014 Outline Overture:
Formal Engineering for Industrial Software Development
Shaoying Liu Formal Engineering for Industrial Software Development Using the SOFL Method With 90 Figures and 30 Tables Springer Contents Introduction 1 1.1 Software Life Cycle... 2 1.2 The Problem 4 1.3
13 RDFS and SPARQL. Internet Technology. MSc in Communication Sciences 2011-12 Program in Technologies for Human Communication.
MSc in Communication Sciences 2011-12 Program in Technologies for Human Communication Davide Eynard nternet Technology 13 RDFS and SPARQL 2 RDF - Summary Main characteristics of RDF: Abstract syntax based
Lecture 7: NP-Complete Problems
IAS/PCMI Summer Session 2000 Clay Mathematics Undergraduate Program Basic Course on Computational Complexity Lecture 7: NP-Complete Problems David Mix Barrington and Alexis Maciel July 25, 2000 1. Circuit
RDF Resource Description Framework
RDF Resource Description Framework Fulvio Corno, Laura Farinetti Politecnico di Torino Dipartimento di Automatica e Informatica e-lite Research Group http://elite.polito.it Outline RDF Design objectives
Updating Action Domain Descriptions
Updating Action Domain Descriptions Thomas Eiter, Esra Erdem, Michael Fink, and Ján Senko Institute of Information Systems, Vienna University of Technology, Vienna, Austria Email: (eiter esra michael jan)@kr.tuwien.ac.at
XML Data Integration
XML Data Integration Lucja Kot Cornell University 11 November 2010 Lucja Kot (Cornell University) XML Data Integration 11 November 2010 1 / 42 Introduction Data Integration and Query Answering A data integration
Bounded-width QBF is PSPACE-complete
Bounded-width QBF is PSPACE-complete Albert Atserias 1 and Sergi Oliva 2 1 Universitat Politècnica de Catalunya Barcelona, Spain [email protected] 2 Universitat Politècnica de Catalunya Barcelona, Spain
A Review and Comparison of Rule Languages and Rule-based Inference Engines for the Semantic Web
A Review and Comparison of and -based Inference Engines for the Semantic Web Thanyalak Rattanasawad, Kanda Runapongsa Saikaew Department of Computer Engineering, Faculty of Engineering, Khon Kaen University,
Rigorous Software Development CSCI-GA 3033-009
Rigorous Software Development CSCI-GA 3033-009 Instructor: Thomas Wies Spring 2013 Lecture 11 Semantics of Programming Languages Denotational Semantics Meaning of a program is defined as the mathematical
A Secure Mediator for Integrating Multiple Level Access Control Policies
A Secure Mediator for Integrating Multiple Level Access Control Policies Isabel F. Cruz Rigel Gjomemo Mirko Orsini ADVIS Lab Department of Computer Science University of Illinois at Chicago {ifc rgjomemo
An Ontology-based e-learning System for Network Security
An Ontology-based e-learning System for Network Security Yoshihito Takahashi, Tomomi Abiko, Eriko Negishi Sendai National College of Technology [email protected] Goichi Itabashi Graduate School
Computational Methods for Database Repair by Signed Formulae
Computational Methods for Database Repair by Signed Formulae Ofer Arieli ([email protected]) Department of Computer Science, The Academic College of Tel-Aviv, 4 Antokolski street, Tel-Aviv 61161, Israel.
Layering the Semantic Web: Problems and Directions
First International Semantic Web Conference (ISWC2002), Sardinia, Italy, June 2002. Layering the Semantic Web: Problems and Directions Peter F. Patel-Schneider and Dieter Fensel Bell Labs Research Murray
Elena Baralis, Silvia Chiusano Politecnico di Torino. Pag. 1. Query optimization. DBMS Architecture. Query optimizer. Query optimizer.
DBMS Architecture INSTRUCTION OPTIMIZER Database Management Systems MANAGEMENT OF ACCESS METHODS BUFFER MANAGER CONCURRENCY CONTROL RELIABILITY MANAGEMENT Index Files Data Files System Catalog BASE It
CSC 373: Algorithm Design and Analysis Lecture 16
CSC 373: Algorithm Design and Analysis Lecture 16 Allan Borodin February 25, 2013 Some materials are from Stephen Cook s IIT talk and Keven Wayne s slides. 1 / 17 Announcements and Outline Announcements
Generating models of a matched formula with a polynomial delay
Generating models of a matched formula with a polynomial delay Petr Savicky Institute of Computer Science, Academy of Sciences of Czech Republic, Pod Vodárenskou Věží 2, 182 07 Praha 8, Czech Republic
Fixed-Point Logics and Computation
1 Fixed-Point Logics and Computation Symposium on the Unusual Effectiveness of Logic in Computer Science University of Cambridge 2 Mathematical Logic Mathematical logic seeks to formalise the process of
OSLC Primer Learning the concepts of OSLC
OSLC Primer Learning the concepts of OSLC It has become commonplace that specifications are precise in their details but difficult to read and understand unless you already know the basic concepts. A good
A Comparison of Database Query Languages: SQL, SPARQL, CQL, DMX
ISSN: 2393-8528 Contents lists available at www.ijicse.in International Journal of Innovative Computer Science & Engineering Volume 3 Issue 2; March-April-2016; Page No. 09-13 A Comparison of Database
RDF Support in Oracle Oracle USA Inc.
RDF Support in Oracle Oracle USA Inc. 1. Introduction Resource Description Framework (RDF) is a standard for representing information that can be identified using a Universal Resource Identifier (URI).
Repair Checking in Inconsistent Databases: Algorithms and Complexity
Repair Checking in Inconsistent Databases: Algorithms and Complexity Foto Afrati 1 Phokion G. Kolaitis 2 1 National Technical University of Athens 2 UC Santa Cruz and IBM Almaden Research Center Oxford,
Query Processing in Data Integration Systems
Query Processing in Data Integration Systems Diego Calvanese Free University of Bozen-Bolzano BIT PhD Summer School Bressanone July 3 7, 2006 D. Calvanese Data Integration BIT PhD Summer School 1 / 152
12 The Semantic Web and RDF
MSc in Communication Sciences 2011-12 Program in Technologies for Human Communication Davide Eynard nternet Technology 12 The Semantic Web and RDF 2 n the previous episodes... A (video) summary: Michael
Path Querying on Graph Databases
Path Querying on Graph Databases Jelle Hellings Hasselt University and transnational University of Limburg 1/38 Overview Graph Databases Motivation Walk Logic Relations with FO and MSO Relations with CTL
Semantic Modeling with RDF. DBTech ExtWorkshop on Database Modeling and Semantic Modeling Lili Aunimo
DBTech ExtWorkshop on Database Modeling and Semantic Modeling Lili Aunimo Expected Outcomes You will learn: Basic concepts related to ontologies Semantic model Semantic web Basic features of RDF and RDF
Testing LTL Formula Translation into Büchi Automata
Testing LTL Formula Translation into Büchi Automata Heikki Tauriainen and Keijo Heljanko Helsinki University of Technology, Laboratory for Theoretical Computer Science, P. O. Box 5400, FIN-02015 HUT, Finland
Relational Databases
Relational Databases Jan Chomicki University at Buffalo Jan Chomicki () Relational databases 1 / 18 Relational data model Domain domain: predefined set of atomic values: integers, strings,... every attribute
ABSTRACT 1. INTRODUCTION. Kamil Bajda-Pawlikowski [email protected]
Kamil Bajda-Pawlikowski [email protected] Querying RDF data stored in DBMS: SPARQL to SQL Conversion Yale University technical report #1409 ABSTRACT This paper discusses the design and implementation
Semantic Interoperability
Ivan Herman Semantic Interoperability Olle Olsson Swedish W3C Office Swedish Institute of Computer Science (SICS) Stockholm Apr 27 2011 (2) Background Stockholm Apr 27, 2011 (2) Trends: from
Linked Medieval Data: Semantic Enrichment and Contextualisation to Enhance Understanding and Collaboration
: Semantic Enrichment and Contextualisation to Enhance Understanding and Collaboration Prof. Dr. Stefan Gradmann Humboldt-Universität zu Berlin / School of Library and Information Science [email protected]
Lecture 1: Oracle Turing Machines
Computational Complexity Theory, Fall 2008 September 10 Lecture 1: Oracle Turing Machines Lecturer: Kristoffer Arnsfelt Hansen Scribe: Casper Kejlberg-Rasmussen Oracle TM Definition 1 Let A Σ. Then a Oracle
Ampersand and the Semantic Web
Ampersand and the Semantic Web The Ampersand Conference 2015 Lloyd Rutledge The Semantic Web Billions and billions of data units Triples (subject-predicate-object) of URI s Your data readily integrated
On the Decidability and Complexity of Query Answering over Inconsistent and Incomplete Databases
On the Decidability and Complexity of Query Answering over Inconsistent and Incomplete Databases Andrea Calì Domenico Lembo Riccardo Rosati Dipartimento di Informatica e Sistemistica Università di Roma
Getting Started Guide
TopBraid Composer Getting Started Guide Version 2.0 July 21, 2007 TopBraid Composer, Copyright 2006 TopQuadrant, Inc. 1 of 58 Revision History Date Version Revision August 1, 2006 1.0 Initial version September
Data Integration. Maurizio Lenzerini. Universitá di Roma La Sapienza
Data Integration Maurizio Lenzerini Universitá di Roma La Sapienza DASI 06: Phd School on Data and Service Integration Bertinoro, December 11 15, 2006 M. Lenzerini Data Integration DASI 06 1 / 213 Structure
A first step towards modeling semistructured data in hybrid multimodal logic
A first step towards modeling semistructured data in hybrid multimodal logic Nicole Bidoit * Serenella Cerrito ** Virginie Thion * * LRI UMR CNRS 8623, Université Paris 11, Centre d Orsay. ** LaMI UMR
Scope. Cognescent SBI Semantic Business Intelligence
Cognescent SBI Semantic Business Intelligence Scope...1 Conceptual Diagram...2 Datasources...3 Core Concepts...3 Resources...3 Occurrence (SPO)...4 Links...4 Statements...4 Rules...4 Types...4 Mappings...5
Why? A central concept in Computer Science. Algorithms are ubiquitous.
Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online
G-SPARQL: A Hybrid Engine for Querying Large Attributed Graphs
G-SPARQL: A Hybrid Engine for Querying Large Attributed Graphs Sherif Sakr National ICT Australia UNSW, Sydney, Australia [email protected] Sameh Elnikety Microsoft Research Redmond, WA, USA [email protected]
Software Modeling and Verification
Software Modeling and Verification Alessandro Aldini DiSBeF - Sezione STI University of Urbino Carlo Bo Italy 3-4 February 2015 Algorithmic verification Correctness problem Is the software/hardware system
DISTRIBUTED RDF QUERY PROCESSING AND REASONING FOR BIG DATA / LINKED DATA. A THESIS IN Computer Science
DISTRIBUTED RDF QUERY PROCESSING AND REASONING FOR BIG DATA / LINKED DATA A THESIS IN Computer Science Presented to the Faculty of the University of Missouri-Kansas City in partial fulfillment of the requirements
Defining a benchmark suite for evaluating the import of OWL Lite ontologies
UNIVERSIDAD POLITÉCNICA DE MADRID FACULTAD DE INFORMÁTICA FREE UNIVERSITY OF BOLZANO FACULTY OF COMPUTER SCIENCE EUROPEAN MASTER IN COMPUTATIONAL LOGIC MASTER THESIS Defining a benchmark suite for evaluating
Completing Description Logic Knowledge Bases using Formal Concept Analysis
Completing Description Logic Knowledge Bases using Formal Concept Analysis Franz Baader, 1 Bernhard Ganter, 1 Barış Sertkaya, 1 and Ulrike Sattler 2 1 TU Dresden, Germany and 2 The University of Manchester,
Graph Algorithms and Graph Databases. Dr. Daisy Zhe Wang CISE Department University of Florida August 27th 2014
Graph Algorithms and Graph Databases Dr. Daisy Zhe Wang CISE Department University of Florida August 27th 2014 1 Google Knowledge Graph -- Entities and Relationships 2 Graph Data! Facebook Social Network
Bounded Treewidth in Knowledge Representation and Reasoning 1
Bounded Treewidth in Knowledge Representation and Reasoning 1 Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien Luminy, October 2010 1 Joint work with G.
Building the Semantic Web on XML
The First International Semantic Web Conference (ISWC2002), Sardinia, Italy, June 2002. Building the Semantic Web on XML Peter F. Patel-Schneider and Jérôme Siméon Bell Labs Research, Murray Hill, NJ,
OBDA: Query Rewriting or Materialization? In Practice, Both!
OBDA: Query Rewriting or Materialization? In Practice, Both! Juan F. Sequeda 1, Marcelo Arenas 2, and Daniel P. Miranker 1 1 Department of Computer Science, The University of Texas at Austin 2 Department
Robust Module-based Data Management
IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. V, NO. N, MONTH YEAR 1 Robust Module-based Data Management François Goasdoué, LRI, Univ. Paris-Sud, and Marie-Christine Rousset, LIG, Univ. Grenoble
An Efficient and Scalable Management of Ontology
An Efficient and Scalable Management of Ontology Myung-Jae Park 1, Jihyun Lee 1, Chun-Hee Lee 1, Jiexi Lin 1, Olivier Serres 2, and Chin-Wan Chung 1 1 Korea Advanced Institute of Science and Technology,
DISCOVERING RESUME INFORMATION USING LINKED DATA
DISCOVERING RESUME INFORMATION USING LINKED DATA Ujjal Marjit 1, Kumar Sharma 2 and Utpal Biswas 3 1 C.I.R.M, University Kalyani, Kalyani (West Bengal) India [email protected] 2 Department of Computer
Complexity Theory. Jörg Kreiker. Summer term 2010. Chair for Theoretical Computer Science Prof. Esparza TU München
Complexity Theory Jörg Kreiker Chair for Theoretical Computer Science Prof. Esparza TU München Summer term 2010 Lecture 8 PSPACE 3 Intro Agenda Wrap-up Ladner proof and time vs. space succinctness QBF
Mathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson
Mathematics for Computer Science/Software Engineering Notes for the course MSM1F3 Dr. R. A. Wilson October 1996 Chapter 1 Logic Lecture no. 1. We introduce the concept of a proposition, which is a statement
! " # The Logic of Descriptions. Logics for Data and Knowledge Representation. Terminology. Overview. Three Basic Features. Some History on DLs
,!0((,.+#$),%$(-&.& *,2(-$)%&2.'3&%!&, Logics for Data and Knowledge Representation Alessandro Agostini [email protected] University of Trento Fausto Giunchiglia [email protected] The Logic of Descriptions!$%&'()*$#)
Introducing Formal Methods. Software Engineering and Formal Methods
Introducing Formal Methods Formal Methods for Software Specification and Analysis: An Overview 1 Software Engineering and Formal Methods Every Software engineering methodology is based on a recommended
Chapter 8 The Enhanced Entity- Relationship (EER) Model
Chapter 8 The Enhanced Entity- Relationship (EER) Model Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 8 Outline Subclasses, Superclasses, and Inheritance Specialization
ONTOLOGIES A short tutorial with references to YAGO Cosmina CROITORU
ONTOLOGIES p. 1/40 ONTOLOGIES A short tutorial with references to YAGO Cosmina CROITORU Unlocking the Secrets of the Past: Text Mining for Historical Documents Blockseminar, 21.2.-11.3.2011 ONTOLOGIES
Theoretical Computer Science (Bridging Course) Complexity
Theoretical Computer Science (Bridging Course) Complexity Gian Diego Tipaldi A scenario You are a programmer working for a logistics company Your boss asks you to implement a program that optimizes the
Enforcing Data Quality Rules for a Synchronized VM Log Audit Environment Using Transformation Mapping Techniques
Enforcing Data Quality Rules for a Synchronized VM Log Audit Environment Using Transformation Mapping Techniques Sean Thorpe 1, Indrajit Ray 2, and Tyrone Grandison 3 1 Faculty of Engineering and Computing,
Semantic Web Standard in Cloud Computing
ETIC DEC 15-16, 2011 Chennai India International Journal of Soft Computing and Engineering (IJSCE) Semantic Web Standard in Cloud Computing Malini Siva, A. Poobalan Abstract - CLOUD computing is an emerging
The Classes P and NP
The Classes P and NP We now shift gears slightly and restrict our attention to the examination of two families of problems which are very important to computer scientists. These families constitute the
CHAPTER 7 GENERAL PROOF SYSTEMS
CHAPTER 7 GENERAL PROOF SYSTEMS 1 Introduction Proof systems are built to prove statements. They can be thought as an inference machine with special statements, called provable statements, or sometimes
SPARQL UniProt.RDF. Get these slides! Tutorial plan. Everyone has had some introduction slash knowledge of RDF.
SPARQL UniProt.RDF Everyone has had some introduction slash knowledge of RDF. Jerven Bolleman Developer Swiss-Prot Group Swiss Institute of Bioinformatics Get these slides! https://sites.google.com/a/jerven.eu/jerven/home/
JOURNAL OF COMPUTER SCIENCE AND ENGINEERING
Exploration on Service Matching Methodology Based On Description Logic using Similarity Performance Parameters K.Jayasri Final Year Student IFET College of engineering [email protected] R.Rajmohan
Chapter. NP-Completeness. Contents
Chapter 13 NP-Completeness Contents 13.1 P and NP......................... 593 13.1.1 Defining the Complexity Classes P and NP...594 13.1.2 Some Interesting Problems in NP.......... 597 13.2 NP-Completeness....................
Satisfiability Checking
Satisfiability Checking SAT-Solving Prof. Dr. Erika Ábrahám Theory of Hybrid Systems Informatik 2 WS 10/11 Prof. Dr. Erika Ábrahám - Satisfiability Checking 1 / 40 A basic SAT algorithm Assume the CNF
ON FUNCTIONAL SYMBOL-FREE LOGIC PROGRAMS
PROCEEDINGS OF THE YEREVAN STATE UNIVERSITY Physical and Mathematical Sciences 2012 1 p. 43 48 ON FUNCTIONAL SYMBOL-FREE LOGIC PROGRAMS I nf or m at i cs L. A. HAYKAZYAN * Chair of Programming and Information
A Collaborative System Software Solution for Modeling Business Flows Based on Automated Semantic Web Service Composition
32 A Collaborative System Software Solution for Modeling Business Flows Based on Automated Semantic Web Service Composition Ion SMEUREANU, Andreea DIOŞTEANU Economic Informatics Department, Academy of
Introduction to Algorithms. Part 3: P, NP Hard Problems
Introduction to Algorithms Part 3: P, NP Hard Problems 1) Polynomial Time: P and NP 2) NP-Completeness 3) Dealing with Hard Problems 4) Lower Bounds 5) Books c Wayne Goddard, Clemson University, 2004 Chapter
Extending the Linked Data API with RDFa
Extending the Linked Data API with RDFa Steve Battle 1, James Leigh 2, David Wood 2 1 Gloze Ltd, UK [email protected] 2 3 Round Stones, USA James, [email protected] Linked data is about connecting
Data Integration: A Theoretical Perspective
Data Integration: A Theoretical Perspective Maurizio Lenzerini Dipartimento di Informatica e Sistemistica Università di Roma La Sapienza Via Salaria 113, I 00198 Roma, Italy [email protected] ABSTRACT
Secure Cooperative Data Access in Multi-Cloud Environment
Mason Archival Repository Service http://mars.gmu.edu etd @ Mason (Electronic Theses and Dissertations) The Volgenau School of Engineering 2013 Secure Cooperative Data Access in Multi-Cloud Environment
MOC 20461C: Querying Microsoft SQL Server. Course Overview
MOC 20461C: Querying Microsoft SQL Server Course Overview This course provides students with the knowledge and skills to query Microsoft SQL Server. Students will learn about T-SQL querying, SQL Server
MATHEMATICS: CONCEPTS, AND FOUNDATIONS Vol. III - Logic and Computer Science - Phokion G. Kolaitis
LOGIC AND COMPUTER SCIENCE Phokion G. Kolaitis Computer Science Department, University of California, Santa Cruz, CA 95064, USA Keywords: algorithm, Armstrong s axioms, complete problem, complexity class,
