Jumping Evaluation of Nested Regular Path Queries

Joachim Niehren
(Inria Lille)
Sylvain Salvati
(Université de Lille)
Rustam Azimov
(Saint Petersburg State University)

Nested regular path queries are used for querying graph databases and RDF triple stores. We propose a new algorithm for evaluating nested regular path queries on a graph from a set of start nodes in combined linear time. We show that this complexity upper bound can be reduced by making it dependent on the size of the query's top-down needed subgraph, a notion that we introduce. For many queries in practice, the top-down needed subgraph is way smaller than the whole graph. Our algorithm is based on a novel compilation schema from nested regular path queries to monadic datalog queries. Its complexity upper bound follows from known properties of top-down datalog evaluation. As an application, we show that our algorithm permits to reformulate in simple terms a variant of a very efficient automata-based algorithm proposed by Maneth and Nguyen that evaluates navigational path queries in datatrees based on indexes and jumping. Moreover, it overcomes some limitations of Maneth and Nguyen's: it is not bound to trees and applies to graphs; it is not limited to forward navigational XPath but can treat any nested regular path query and it can be implemented efficiently without any dedicated techniques, by using any efficient datalog evaluator such as LogicBlox.

In Yuliya Lierler, Jose F. Morales, Carmine Dodaro, Veronica Dahl, Martin Gebser and Tuncay Tekle: Proceedings 38th International Conference on Logic Programming (ICLP 2022), Haifa, Israel, 31st July 2022 - 6th August 2022, Electronic Proceedings in Theoretical Computer Science 364, pp. 79–92.
Published: 4th August 2022.

ArXived at: https://dx.doi.org/10.4204/EPTCS.364.8 bibtex PDF

Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org