Datalog Rewritings of Regular Path Queries using Views
Résumé
We consider query answering using views on graph databases, i.e. databases structured as edge-labeled graphs. We consider views and queries specified by Regular Path Queries. These are queries selecting pairs of nodes in a graph database that are connected via a path whose sequence of edge labels belongs to some regular language. A view V determines a query Q if for all graph databases D, the view image V(D) always contains enough information to answer Q on D. In other words, there is a well defined function from V(D) to Q(D). Our main result shows that when this function is monotone, there exists a rewriting of Q as a Datalog query over the view instance V(D). In particular the query can be evaluated in time polynomial in the size of V(D). As a side result we also prove that it is decidable whether an RPQ query can be rewritten in Datalog using RPQ views.