Nesting Depth of Operators in Graph Database Queries: Expressiveness Vs. Evaluation Complexity
M. Praveen, B. Srivathsan

TL;DR
This paper explores how controlling the nesting depth of operators in graph database queries impacts their expressiveness and evaluation complexity, establishing a hierarchy with strict inclusions and complexity bounds.
Contribution
It introduces a syntactic hierarchy for nesting depth in query languages, proves its strictness, and relates it to computational complexity and satisfiability problems.
Findings
Hierarchy of query languages based on nesting depth is strict.
Evaluation complexity increases with nesting depth, reaching the polynomial hierarchy.
Deciding equivalence at different levels is undecidable.
Abstract
Designing query languages for graph structured data is an active field of research, where expressiveness and efficient algorithms for query evaluation are conflicting goals. To better handle dynamically changing data, recent work has been done on designing query languages that can compare values stored in the graph database, without hard coding the values in the query. The main idea is to allow variables in the query and bind the variables to values when evaluating the query. For query languages that bind variables only once, query evaluation is usually NP-complete. There are query languages that allow binding inside the scope of Kleene star operators, which can themselves be in the scope of bindings and so on. Uncontrolled nesting of binding and iteration within one another results in query evaluation being PSPACE-complete. We define a way to syntactically control the nesting depth…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsGraph Theory and Algorithms · Advanced Database Systems and Queries · Formal Methods in Verification
