7 research outputs found
View-based query answering and query containment over semistructured data
Abstract. The basic querying mechanism over semistructured data, namely regular path queries, asks for all pairs of objects that are connected by a path conforming to a regular expression. We consider conjunctive two-way regular path queries (C2RPQc’s), which extend regular path queries with two features. First, they add the inverse operator, which allows for expressing navigations in the database that traverse the edges both backward and forward. Second, they allow for using conjunctions of atoms, where each atom specifies that a regular path query with inverse holds between two terms, where each term is either a variable or a constant. For such queries we address the problem of view-based query answering, which amounts to computing the result of a query only on the basis of a set of views. More specifically, we present the following results: (1) We exhibit a mutual reduction between query containment and the recognition problem for view-based query answering for C2RPQc’s, i.e., checking whether a given tuple is in the certain answer to a query. Based on such a result, we can show that the problem of view-based query answering for C2RPQc’s is EXPSPACE-complete. (2) By exploiting techniques based on alternating two-way automata we show that for the restricted class of tree two-way regular path queries (in which the links between variables form a tree), query containment and view-based query answering are, rather surprisingly, in PSPACE (and hence, PSPACE-complete). (3) We present a technique to obtain view-based query answering algorithms that compute the whole set of tuples in the certain answer, instead of requiring to check each tuple separately. The technique is parametric wrt the query language, and can be applied both to C2RPQc’s and to tree-queries.
Containment of Simple Regular Path Queries
Testing containment of queries is a fundamental reasoning task in knowledge
representation. We study here the containment problem for Conjunctive Regular
Path Queries (CRPQs), a navigational query language extensively used in
ontology and graph database querying. While it is known that containment of
CRPQs is expspace-complete in general, we focus here on severely restricted
fragments, which are known to be highly relevant in practice according to
several recent studies. We obtain a detailed overview of the complexity of the
containment problem, depending on the features used in the regular expressions
of the queries, with completeness results for np, pitwo, pspace or expspace
Querying graphs with data
Graph data is becoming more and more pervasive. Indeed, services such as Social Networks
or the Semantic Web can no longer rely on the traditional relational model, as its structure
is somewhat too rigid for the applications they have in mind. For this reason we have seen a
continuous shift towards more non-standard models. First it was the semi-structured data in the
1990s and XML in 2000s, but even such models seem to be too restrictive for new applications
that require navigational properties naturally modelled by graphs. Social networks fit into the
graph model by their very design: users are nodes and their connections are specified by graph
edges. The W3C committee, on the other hand, describes RDF, the model underlying the
Semantic Web, by using graphs. The situation is quite similar with crime detection networks
and tracking workflow provenance, namely they all have graphs inbuilt into their definition.
With pervasiveness of graph data the important question of querying and maintaining it has
emerged as one of the main priorities, both in theoretical and applied sense. Currently there
seem to be two approaches to handling such data. On the one hand, to extract the actual data,
practitioners use traditional relational languages that completely disregard various navigational
patterns connecting the data. What makes this data interesting in modern applications, however,
is precisely its ability to compactly represent intricate topological properties that envelop the
data. To overcome this issue several languages that allow querying graph topology have been
proposed and extensively studied. The problem with these languages is that they concentrate
on navigation only, thus disregarding the data that is actually stored in the database.
What we propose in this thesis is the ability to do both. Namely, we will study how query
languages can be designed to allow specifying not only how the data is connected, but also how
data changes along paths and patterns connecting it. To this end we will develop several query
languages and show how adding different data manipulation capabilities and different navigational
features affects the complexity of main reasoning tasks. The story here is somewhat
similar to the early success of the relational data model, where theoretical considerations led
to a better understanding of what makes certain tasks more challenging than others. Here we
aim for languages that are both efficient and capable of expressing a wide variety of queries of
interest to several groups of practitioners. To do so we will analyse how different requirements
affect the language at hand and at the end provide a good base of primitives whose inclusion
into a language should be considered, based on the applications one has in mind. Namely,
we consider how adding a specific operation, mechanism, or capability to the language affects
practical tasks that such an addition plans to tackle. In the end we arrive at several languages,
all of them with their pros and cons, giving us a good overview of how specific capabilities of
the language affect the design goals, thus providing a sound basis for practitioners to choose
from, based on their requirements
Structural Summaries as a Core Technology for Efficient XML Retrieval
The Extensible Markup Language (XML) is extremely popular as a generic markup language for text documents with an explicit hierarchical structure. The different types of XML data found in today’s document repositories, digital libraries, intranets and on the web range from flat text with little meaningful structure to be queried, over truly semistructured data with a
rich and often irregular structure, to rather rigidly structured documents with little text that would also fit a relational database system (RDBS). Not surprisingly, various ways of storing and retrieving XML data have been investigated, including native XML systems, relational engines based on RDBSs, and hybrid combinations thereof. Over the years a number of native XML indexing techniques have emerged, the most important ones being structure indices and labelling schemes. Structure indices represent the document schema (i.e., the hierarchy of nested tags that occur in the documents) in a compact
central data structure so that structural query constraints (e.g., path or tree patterns) can be efficiently matched without accessing the documents. Labelling schemes specify ways to assign unique identifiers, or labels, to the document nodes so that specific relations (e.g., parent/child) between individual nodes can be inferred from their labels alone in a decentralized manner,
again without accessing the documents themselves. Since both structure indices and labelling schemes provide compact approximate views on the document structure, we collectively refer to them as structural summaries. This work presents new structural summaries that enable highly efficient and scalable XML retrieval in native, relational and hybrid systems. The key contribution of our approach is threefold. (1) We introduce BIRD, a very efficient and expressive labelling scheme for XML, and the CADG, a combined text and structure index, and combine them as two complementary building blocks of the same XML retrieval system. (2) We propose a purely relational variant of BIRD and the CADG, called RCADG, that is extremely fast and scales up to large document collections. (3) We present the RCADG Cache, a hybrid system that enhances the RCADG with incremental query evaluation based on cached results of earlier queries. The RCADG Cache exploits schema information in the RCADG to detect cached query results that can supply some or all matches to a new query with little or no computational and I/O effort. A main-memory cache index ensures that reusable query results are quickly retrieved even in a huge cache. Our work shows that structural summaries significantly improve the efficiency and scalability of XML retrieval systems in several ways. Former relational approaches have largely ignored structural summaries. The RCADG shows that these native indexing techniques are equally effective for XML retrieval in RDBSs. BIRD, unlike some other labelling schemes, achieves high retrieval performance with a fairly modest storage overhead. To the best of our
knowledge, the RCADG Cache is the only approach to take advantage of structural summaries for effectively detecting query containment or overlap. Moreover, no other XML cache we know of exploits intermediate results that are produced as a by-product during the evaluation from scratch. These are valuable cache contents that increase the effectiveness of the cache at no extra computational cost. Extensive experiments quantify the practical benefit of all of the proposed techniques, which amounts to a performance gain of several orders of magnitude compared to various other approaches