๐ค AI Summary
This paper investigates the computational complexity of acyclic conjunctive regular path queries (CRPQs). We present the first output-sensitive algorithm for this class, whose runtime depends solely on the input size, output size, and the free-connex fractional hypertree widthโmatching the optimal complexity of the corresponding non-recursive conjunctive queries (CQs). Our approach integrates fractional hypertree decompositions, free-connexity analysis, and path-constraint encoding techniques. The key contribution is a rigorous proof that, under the output-sensitive model, acyclic CRPQs are no harder than their CQ counterparts: the recursion introduced by regular path constraints incurs no additional asymptotic cost. This establishes a tight theoretical complexity bound for acyclic CRPQs and refutes the conventional wisdom that recursive queries are inherently more expensive.
๐ Abstract
We present an output-sensitive algorithm for evaluating an acyclic Conjunctive Regular Path Query (CRPQ). Its complexity is written in terms of the input size, the output size, and a well-known parameter of the query that is called the "free-connex fractional hypertree width". Our algorithm improves upon the complexity of the recently introduced output-sensitive algorithm for acyclic CRPQs. More notably, the complexity of our algorithm for a given acyclic CRPQ Q matches the best known output-sensitive complexity for the "corresponding" conjunctive query (CQ), that is the CQ that has the same structure as the CRPQ Q except that each RPQ is replaced with a binary atom (or a join of two binary atoms). This implies that it is not possible to improve upon our complexity for acyclic CRPQs without improving the state-of-the-art on output-sensitive evaluation for acyclic CQs. Our result is surprising because RPQs, and by extension CRPQs, are equivalent to recursive Datalog programs, which are generally poorly understood from a complexity standpoint. Yet, our result implies that the recursion aspect of acyclic CRPQs does not add any extra complexity on top of the corresponding (non-recursive) CQs, at least as far as output-sensitive analysis is concerned.