Regular path queries on graphs with data

Leonid Libkin, Domagoj Vrgoc

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Graph data models received much attention lately due to applications in social networks, semantic web, biological databases and other areas. Typical query languages for graph databases retrieve their topology, while actual data stored in them is usually queried using standard relational mechanisms.

Our goal is to develop techniques that combine these two modes of querying, and give us query languages that can ask questions about both data and topology. As the basic querying mechanism we consider regular path queries, with the key difference that conditions on paths between nodes now talk not only about labels but also specify how data changes along the path. Paths that combine edge labels with data values are closely related to data words, so for stating conditions in queries, we look at several data-word formalisms developed recently. We show that many of them immediately lead to intractable data complexity for graph queries, with the notable exception of register automata, which can specify many properties of interest, and have NLogspace data and Pspace combined complexity. As register automata themselves are not easy to use in querying, we define two types of extensions of regular expressions that are more user-friendly, and develop query evaluation techniques for them. For one class, regular expressions with memory, we achieve the same bounds as for automata, and for the other class, regular expressions with equality, we also obtain tractable combined complexity of query evaluation. In addition, we show that results extends to analogs of conjunctive regular path queries.
Original languageEnglish
Title of host publication15th International Conference on Database Theory, ICDT '12
PublisherACM
Pages74-85
Number of pages12
ISBN (Print)978-1-4503-0791-8
DOIs
Publication statusPublished - 2012

Fingerprint

Dive into the research topics of 'Regular path queries on graphs with data'. Together they form a unique fingerprint.

Cite this