an algebra for basic graph patternsconferenze.dei.polimi.it/lid2008/lid08fletcher.pdf · an algebra...
TRANSCRIPT
![Page 1: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/1.jpg)
An Algebra forBasic Graph Patterns
George FletcherWashington State University, Vancouver
LID 2008, Rome19-20 May 2008
![Page 2: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/2.jpg)
(web) data:
‣ social
‣ semantic
‣ structured, semi-structured, unstructured
![Page 3: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/3.jpg)
semantic web, data spaces, web 3.0, ...
![Page 4: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/4.jpg)
data model?
![Page 5: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/5.jpg)
requirements
1. “things” and their relationships
2. don’t force artificial data/metadata distinctions
3. support both structure and no structure
![Page 6: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/6.jpg)
Resource Description Framework
• W3C standard
• data model for social semantic web
![Page 7: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/7.jpg)
Resource Description Framework
• W3C standard
• data model for social semantic web
• triples
‣ dataspace = finite ternary relation over “things”
‣ things = URI’s, literals
• fulfills 1, 2, and 3
![Page 8: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/8.jpg)
An Algebra For Basic Graph Patterns
George H.L. Fletcher
School of Engineering and Computer ScienceWashington State University, Vancouver
Abstract. Motivated by recent developments in the dataspaces, web,and personal information management communities, we outline researchdirections on query processing for SPARQL, the W3C recommendationlanguage for querying RDF triple stores. The core of each SPARQL queryis a basic graph pattern (BGP). BGP is a little logic for extracting sub-sets of related nodes in an RDF graph. In this paper we undertake aformal study of BGP with an eye towards e!cient SPARQL query evalu-ation. Our main contributions are (1) an algebraization of BGP, and (2)first steps towards a framework for the design of structural indexes toaccelerate processing of queries in this algebra.
1 Introduction
The flexibility and fundamental character of ternary relations for data modelingwas recognized very early in the development of modern logic [34]. Althoughthere were some initial e!orts towards realizing this idea in information systems(e.g., [31]), “triples” have only recently gained traction with the developmentof the W3C Resource Description Framework (RDF) [24, 29]. As a data modelfor capturing “things” and their “relationships,” treating each as co-equal firstclass objects, RDF successfully blurs the somewhat arbitrary distinction one istypically forced to make between “data” and “metadata.”1
Example 1 Consider the following set of atoms, denoting a small subset of theobjects in a particular individual’s dataspace of information:
{Yamada, McShea, Herzog, doc1, doc2, doc3, knows, performed, authored,type, social action, is a kind of, past action, created on, 14.5.08, PDF, MP3}
A sample of some of the (triple) relationships holding between these objects isgiven in Figure 1(a). For example, the first triple asserts that Yamada authoredDocument 1; the second triple asserts that Yamada knows McShea; and the thirdtriple asserts that ‘knows’ is a kind of social action. This “graph” of relationshipscan be visualized as in Figure 1(b).
1 Note that RDF has a!nities to data models previously proposed in the context ofgraph databases (e.g., [5, 18]) and data integration systems (e.g., [4, 30, 47]).
RDF
![Page 9: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/9.jpg)
˘!Yamada, authored, doc1",!Yamada, knows, McShea",!knows, is a kind of, social action",!Herzog, authored, doc2",!Herzog, authored, doc3",!McShea, performed, doc3",!McShea, past action, authored",!doc1, type, PDF",!doc2, type, MP3",!doc3, type, MP3",!doc3, created on, 14.5.08"
¯
(a) A triple graph
doc3doc2
MP3
Yamada Herzog McShea
socialaction
14.5.08
doc1
type
knows
authored performed
created on
past action
is a kind of
(b) A visualization of this graph
Fig. 1. A small subset of a personal dataspace graph.
The flexibility of the RDF data model has made it a natural choice for tech-nologies being developed in the social and semantic web research communities[2, 40]. In addition to the central role RDF plays in these areas, recent e!ortstowards the development of dataspaces [13, 20] of personal information [26] havealso highlighted the natural fit of triples in modeling modern data scenarios. Asthe use of RDF grows, the need for RDF data management becomes increasinglycrucial.
There has been an explosion of proposals for RDF query languages [16]. TheW3C recommendation query language SPARQL [36], however, is emerging asthe most mature and accepted. SPARQL is a declarative language with a syntaxvery much like SQL.
Example 2 Consider the query “Retrieve authors and the types of their docu-ments.” In SPARQL, where variables are identified by a preceding ?, this querycan be posed against the graph in Figure 1(a) as follows:
SELECT ?a ?tWHERE { ?a authored ?d . ?d type ?t . }
The WHERE clause of a SPARQL query specifies a basic graph pattern (BGP).Such patterns, which are at the heart of all SPARQL queries, identify a subsetof related atoms to be extracted from the RDF graph, which is then returned asa set of variable mappings.
Example 3 The BGP of Example 2 is (?a authored ?d) ; (?d type ?t). Thesemantics of this pattern with respect to the graph of Figure 1(a) is a set ofvariable mappings, each of which makes the pattern hold in the graph, i.e.,
1 2 3Yamada doc1 PDFHerzog doc2 MP3Herzog doc3 MP3
RDF
![Page 10: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/10.jpg)
doc3doc2
MP3
Yamada Herzog McShea
socialaction
14.5.08
doc1
type
knows
authored performed
created on
past action
is a kind of
˘!Yamada, authored, doc1",!Yamada, knows, McShea",!knows, is a kind of, social action",!Herzog, authored, doc2",!Herzog, authored, doc3",!McShea, performed, doc3",!McShea, past action, authored",!doc1, type, PDF",!doc2, type, MP3",!doc3, type, MP3",!doc3, created on, 14.5.08"
¯
(a) A triple graph
doc3doc2
MP3
Yamada Herzog McShea
socialaction
14.5.08
doc1
type
knows
authored performed
created on
past action
is a kind of
(b) A visualization of this graph
Fig. 1. A small subset of a personal dataspace graph.
The flexibility of the RDF data model has made it a natural choice for tech-nologies being developed in the social and semantic web research communities[2, 40]. In addition to the central role RDF plays in these areas, recent e!ortstowards the development of dataspaces [13, 20] of personal information [26] havealso highlighted the natural fit of triples in modeling modern data scenarios. Asthe use of RDF grows, the need for RDF data management becomes increasinglycrucial.
There has been an explosion of proposals for RDF query languages [16]. TheW3C recommendation query language SPARQL [36], however, is emerging asthe most mature and accepted. SPARQL is a declarative language with a syntaxvery much like SQL.
Example 2 Consider the query “Retrieve authors and the types of their docu-ments.” In SPARQL, where variables are identified by a preceding ?, this querycan be posed against the graph in Figure 1(a) as follows:
SELECT ?a ?tWHERE { ?a authored ?d . ?d type ?t . }
The WHERE clause of a SPARQL query specifies a basic graph pattern (BGP).Such patterns, which are at the heart of all SPARQL queries, identify a subsetof related atoms to be extracted from the RDF graph, which is then returned asa set of variable mappings.
Example 3 The BGP of Example 2 is (?a authored ?d) ; (?d type ?t). Thesemantics of this pattern with respect to the graph of Figure 1(a) is a set ofvariable mappings, each of which makes the pattern hold in the graph, i.e.,
1 2 3Yamada doc1 PDFHerzog doc2 MP3Herzog doc3 MP3
RDF
![Page 11: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/11.jpg)
doc3doc2
MP3
Yamada Herzog McShea
socialaction
14.5.08
doc1
type
knows
authored performed
created on
past action
is a kind of
˘!Yamada, authored, doc1",!Yamada, knows, McShea",!knows, is a kind of, social action",!Herzog, authored, doc2",!Herzog, authored, doc3",!McShea, performed, doc3",!McShea, past action, authored",!doc1, type, PDF",!doc2, type, MP3",!doc3, type, MP3",!doc3, created on, 14.5.08"
¯
(a) A triple graph
doc3doc2
MP3
Yamada Herzog McShea
socialaction
14.5.08
doc1
type
knows
authored performed
created on
past action
is a kind of
(b) A visualization of this graph
Fig. 1. A small subset of a personal dataspace graph.
The flexibility of the RDF data model has made it a natural choice for tech-nologies being developed in the social and semantic web research communities[2, 40]. In addition to the central role RDF plays in these areas, recent e!ortstowards the development of dataspaces [13, 20] of personal information [26] havealso highlighted the natural fit of triples in modeling modern data scenarios. Asthe use of RDF grows, the need for RDF data management becomes increasinglycrucial.
There has been an explosion of proposals for RDF query languages [16]. TheW3C recommendation query language SPARQL [36], however, is emerging asthe most mature and accepted. SPARQL is a declarative language with a syntaxvery much like SQL.
Example 2 Consider the query “Retrieve authors and the types of their docu-ments.” In SPARQL, where variables are identified by a preceding ?, this querycan be posed against the graph in Figure 1(a) as follows:
SELECT ?a ?tWHERE { ?a authored ?d . ?d type ?t . }
The WHERE clause of a SPARQL query specifies a basic graph pattern (BGP).Such patterns, which are at the heart of all SPARQL queries, identify a subsetof related atoms to be extracted from the RDF graph, which is then returned asa set of variable mappings.
Example 3 The BGP of Example 2 is (?a authored ?d) ; (?d type ?t). Thesemantics of this pattern with respect to the graph of Figure 1(a) is a set ofvariable mappings, each of which makes the pattern hold in the graph, i.e.,
1 2 3Yamada doc1 PDFHerzog doc2 MP3Herzog doc3 MP3
RDF
subjects predicates objects
![Page 12: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/12.jpg)
doc3doc2
MP3
Yamada Herzog McShea
socialaction
14.5.08
doc1
type
knows
authored performed
created on
past action
is a kind of
˘!Yamada, authored, doc1",!Yamada, knows, McShea",!knows, is a kind of, social action",!Herzog, authored, doc2",!Herzog, authored, doc3",!McShea, performed, doc3",!McShea, past action, authored",!doc1, type, PDF",!doc2, type, MP3",!doc3, type, MP3",!doc3, created on, 14.5.08"
¯
(a) A triple graph
doc3doc2
MP3
Yamada Herzog McShea
socialaction
14.5.08
doc1
type
knows
authored performed
created on
past action
is a kind of
(b) A visualization of this graph
Fig. 1. A small subset of a personal dataspace graph.
The flexibility of the RDF data model has made it a natural choice for tech-nologies being developed in the social and semantic web research communities[2, 40]. In addition to the central role RDF plays in these areas, recent e!ortstowards the development of dataspaces [13, 20] of personal information [26] havealso highlighted the natural fit of triples in modeling modern data scenarios. Asthe use of RDF grows, the need for RDF data management becomes increasinglycrucial.
There has been an explosion of proposals for RDF query languages [16]. TheW3C recommendation query language SPARQL [36], however, is emerging asthe most mature and accepted. SPARQL is a declarative language with a syntaxvery much like SQL.
Example 2 Consider the query “Retrieve authors and the types of their docu-ments.” In SPARQL, where variables are identified by a preceding ?, this querycan be posed against the graph in Figure 1(a) as follows:
SELECT ?a ?tWHERE { ?a authored ?d . ?d type ?t . }
The WHERE clause of a SPARQL query specifies a basic graph pattern (BGP).Such patterns, which are at the heart of all SPARQL queries, identify a subsetof related atoms to be extracted from the RDF graph, which is then returned asa set of variable mappings.
Example 3 The BGP of Example 2 is (?a authored ?d) ; (?d type ?t). Thesemantics of this pattern with respect to the graph of Figure 1(a) is a set ofvariable mappings, each of which makes the pattern hold in the graph, i.e.,
1 2 3Yamada doc1 PDFHerzog doc2 MP3Herzog doc3 MP3
RDF
RDF/XML, N3, NTriples, ...
![Page 13: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/13.jpg)
... an old idea
Charles S. Peirce (1839-1914)
![Page 14: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/14.jpg)
SPARQL
![Page 15: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/15.jpg)
SPARQL
• W3C standard RDF query language
![Page 16: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/16.jpg)
SPARQL
• W3C standard RDF query language
• SQL-like syntax
SELECT ?a ?tWHERE{
?a authored ?d .?d type ?t
}
![Page 17: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/17.jpg)
SPARQL
• W3C standard RDF query language
• SQL-like syntax
SELECT ?a ?tWHERE{
?a authored ?d .?d type ?t
}
• query processing?
![Page 18: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/18.jpg)
SPARQL
• core of expression is a basic graph pattern
SELECT ?a ?tWHERE{
?a authored ?d .?d type ?t
}
![Page 19: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/19.jpg)
Basic graph patterns
(v1, v2, v3); (v4, v5, v6); v2 = authored; v3 = v4; v5 = type
SELECT ?a ?tWHERE{
?a authored ?d .?d type ?t
}
![Page 20: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/20.jpg)
Basic graph patterns
(v1, v2, v3); (v4, v5, v6); v2 = authored; v3 = v4; v5 = type
doc3doc2
MP3
Yamada Herzog McShea
socialaction
14.5.08
doc1
type
knows
authored performed
created on
past action
is a kind of
![Page 21: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/21.jpg)
Basic graph patterns
(v1, v2, v3); (v4, v5, v6); v2 = authored; v3 = v4; v5 = type
doc3doc2
MP3
Yamada Herzog McShea
socialaction
14.5.08
doc1
type
knows
authored performed
created on
past action
is a kind of
1 2 3 4 5 6Yamada authored doc1 doc1 type PDFHerzog authored doc2 doc2 type MP3Herzog authored doc2 doc2 type MP3
![Page 22: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/22.jpg)
Basic graph patterns
1 6Yamada PDFHerzog MP3
(v1, v2, v3); (v4, v5, v6); v2 = authored; v3 = v4; v5 = type
doc3doc2
MP3
Yamada Herzog McShea
socialaction
14.5.08
doc1
type
knows
authored performed
created on
past action
is a kind of
![Page 23: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/23.jpg)
Basic graph patterns
(v1, v2, v3); · · · ; (v3n!2, v3n!1, v3n); c1; · · · ; cm
![Page 24: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/24.jpg)
Basic triple algebra
E ::= ! | E · E | !c(E)
![Page 25: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/25.jpg)
Basic triple algebra
Given RDF graph G
E ::= ! | E · E | !c(E)
[[!]]G = G
[[E1 · E2]]G = [[E1]]G " [[E2]]G[[!c(E)]]G = {m # [[E]]G | m satisfies c}
![Page 26: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/26.jpg)
(v1, v2, v3); (v4, v5, v6); v2 = authored; v3 = v4; v5 = type
doc3doc2
MP3
Yamada Herzog McShea
socialaction
14.5.08
doc1
type
knows
authored performed
created on
past action
is a kind of
Basic triple algebra
![Page 27: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/27.jpg)
doc3doc2
MP3
Yamada Herzog McShea
socialaction
14.5.08
doc1
type
knows
authored performed
created on
past action
is a kind of
1 2 3 4 5 6Yamada authored doc1 doc1 type PDFHerzog authored doc2 doc2 type MP3Herzog authored doc2 doc2 type MP3
Basic triple algebra!3=4(!2=authored(!) · !2=type(!))
![Page 28: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/28.jpg)
FactFor every BGP there is a semantically equivalent BTA expression, and vice versa.
Basic triple algebra
![Page 29: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/29.jpg)
Basic triple algebra
• little conjunctive algebra
• can leverage ~40 years of research on relational algebra evaluation
‣ e.g., Stocker et al. WWW 2008
• our interest: design space of index data structures for acceleration of SPARQL query processing
![Page 30: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/30.jpg)
Indexing RDF
• state of the art: value-based indexing
![Page 31: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/31.jpg)
Indexing RDF
• state of the art: value-based indexing
• missing: structure-based indexing
‣ e.g., dataguide and A(k) indexes for XML
‣ e.g., join indexes for relational and OO data
![Page 32: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/32.jpg)
Indexing RDF
• methodology for coupling query languages and structural indexes (PODS 2006 & DBPL 2007)
• language indistinguishability
• build data structure over the partition induced by language indistinguishability of objects
![Page 33: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/33.jpg)
Indexing RDF
Let G be a graph, s, s! ! subjects(G), and L be a subset ofBTA.
We say s and s! are L-equivalent, denoted s "L s!, if forany E ! L and n ! N, it is the case that there exists amapping m ! [[E]]G with m[3n + 1] = s if and only if thereexists a mapping m! ! [[E]]G with m![3n + 1] = s!.
The partition induced by "L on subjects(G) is called theL-partition of subjects(G).
![Page 34: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/34.jpg)
doc3doc2
MP3
Yamada Herzog McShea
14.5.08
doc1
type
authored performed
created on
L0 = BTA
![Page 35: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/35.jpg)
• partition is too fine
doc3doc2
MP3
Yamada Herzog McShea
14.5.08
doc1
type
authored performed
created on
L0 = BTA
![Page 36: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/36.jpg)
• partition is too fine
• !1=s(!) " BTA
doc3doc2
MP3
Yamada Herzog McShea
14.5.08
doc1
type
authored performed
created on
L0 = BTA
{[Yamada], [Herzog], [McShea],[doc1], [doc2], [doc3]}
![Page 37: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/37.jpg)
doc3doc2
MP3
Yamada Herzog McShea
14.5.08
doc1
type
authored performed
created on
L1
![Page 38: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/38.jpg)
• disallow conditions involving atoms
doc3doc2
MP3
Yamada Herzog McShea
14.5.08
doc1
type
authored performed
created on
L1
![Page 39: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/39.jpg)
• disallow conditions involving atoms
•
doc3doc2
MP3
Yamada Herzog McShea
14.5.08
doc1
type
authored performed
created on
L1
!3=4(! ·! )
{[Yamada, Herzog, McShea],[doc1, doc2, doc3]}
![Page 40: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/40.jpg)
doc3doc2
MP3
Yamada Herzog McShea
14.5.08
doc1
type
authored performed
created on
L2
![Page 41: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/41.jpg)
• only allow atoms in selections on predicates
doc3doc2
MP3
Yamada Herzog McShea
14.5.08
doc1
type
authored performed
created on
L2
![Page 42: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/42.jpg)
• only allow atoms in selections on predicates
• partition is too fine
doc3doc2
MP3
Yamada Herzog McShea
14.5.08
doc1
type
authored performed
created on
L2
![Page 43: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/43.jpg)
• only allow atoms in selections on predicates
• partition is too fine
doc3doc2
MP3
Yamada Herzog McShea
14.5.08
doc1
type
authored performed
created on
L2
{[Yamada], [Herzog], [McShea],[doc1], [doc2], [doc3]}
![Page 44: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/44.jpg)
Lk3 ! L2
doc3doc2
MP3
Yamada Herzog McShea
14.5.08
doc1
type
authored performed
created on
![Page 45: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/45.jpg)
• only allow atoms in selections on predicates
Lk3 ! L2
doc3doc2
MP3
Yamada Herzog McShea
14.5.08
doc1
type
authored performed
created on
![Page 46: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/46.jpg)
• only allow atoms in selections on predicates
• only allow join paths of length at most k
Lk3 ! L2
doc3doc2
MP3
Yamada Herzog McShea
14.5.08
doc1
type
authored performed
created on
![Page 47: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/47.jpg)
• only allow atoms in selections on predicates
• only allow join paths of length at most k
Lk3 ! L2
doc3doc2
MP3
Yamada Herzog McShea
14.5.08
doc1
type
authored performed
created on
{[Yamada, Herzog], [McShea],[doc1], [doc2, doc3]}
![Page 48: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/48.jpg)
Lki ! BTA
![Page 49: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/49.jpg)
• localized fragments of BTA
Lki ! BTA
![Page 50: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/50.jpg)
• localized fragments of BTA
• building blocks of large classes of queries
Lki ! BTA
![Page 51: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/51.jpg)
• design and implementation of index data structures built over partitions induced by localized fragments of BTA
• query processing using these indexes
‣ query decomposition
ongoing work
![Page 52: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/52.jpg)
• BP expressiveness results for SPARQL
• “ontology” discovery for RDF
future work
![Page 53: An Algebra for Basic Graph Patternsconferenze.dei.polimi.it/lid2008/LID08fletcher.pdf · An Algebra For Basic Graph Patterns George H.L. Fletcher School of Engineering and Computer](https://reader034.vdocuments.site/reader034/viewer/2022052006/601a048c0690ba37376775e8/html5/thumbnails/53.jpg)
Thank you!
Questions?