Expressive Path Queries on Graphs with Data
Pablo Barceló1 , Gaelle Fontaine1 , and Anthony W. Lin2,3
1
2

Dept. of Computer Science, University of Chile
Dept. of Computer Science, Oxford University
3
Academia Sinica, Taipei, Taiwan

Abstract. Graph data models have recently become popular owing totheir applications, e.g., in social networks, semantic web. Typical navigational query languages over graph databases — such as Conjunctive
Regular Path Queries (CRPQs) — cannot express relevant propertiesof the interaction between the underlying data and the topology. Two
languages have been recently proposed to overcome this problem: walklogic (WL) and regular expressions with memory (REM). In this paper,
we begin by investigating fundamental properties of WL and REM, i.e.,complexity of evaluation problems and expressive power. We first showthat the data complexity of WL is nonelementary, which rules out its
practicality. On the other hand, while REM has low data complexity,
we point out that many natural data/topology properties of graphs expressible in WL cannot be expressed in REM. To this end, we propose
register logic, an extension of REM, which we show to be able to express
many natural graph properties expressible in WL, while at the sametime preserving the elementariness of data complexity of REMs. It isalso incomparable in expressive power against WL.

1Introduction

Graph databases have recently gained renewed interest due to applications, suchas the semantic web, social network analysis, crime detection networks, software bug detection, biological networks, and others (e.g., see [1] for a survey).
Despite the importance of querying graph databases, no general agreement has
been reached to date about the kind of features a practical query language forgraph databases should support and about what can be considered a reasonable
computational cost of query evaluation for the aforementioned applications.
Typical navigational query languages for graph databases — including the
conjunctive regular path queries [6] and its many extensions [4] — suffer from acommon drawback: they are well-suited for expressing relevant properties about
the underlying topology of a graph database, but not about how it interacts
with the data. This drawback is shared by common specification languages forverification [5] (e.g. CTL∗ ), which are evaluated over a similar graph data model(a.k.a. transition systems). Examples of important queries that combine graphdata and topology, but cannot be expressed in usual navigational languages forgraph databases, include the following [7, 11]: (Q1) Find pairs of people in asocial network connected by professional links restricted to people of the same

age. (Q2) Find pairs of cities x and y in a transportation system, such that y
can be reached from x using only services operated by the same company. In eachone of these queries, the connectivity between two nodes (i.e., the topology) is
constrained by the data (from an infinite domain, e.g., N), in the sense that weonly consider paths in which all intermediate nodes satisfy a certain condition(e.g. they are people of the same age).
Two languages, walk logic and regular expressions with memory, have recently
been proposed to overcome this problem. These languages aim at different goals:(a) Walk logic (WL) was proposed by Hellings et al. [7] as a unifying framework for understanding the expressive power of path queries over graph databases.
Its strength is on the expressiveness side. The underlying data model of WL isthat of (node or edge)-labeled directed graphs. In this context, WL can be seen
as a natural extension of FO with path quantification, plus the ability to check
whether positions p and p0 in paths π and π 0 , respectively, have the same data
values. In their paper, they assume the restriction that each node carries a distinct data value. However, as we shall see, this makes no difference in terms of
the results that we can obtain.
(b) Regular expressions with memory (REMs) were proposed by Libkin and
Vrgoč [9] as a formalism for comparing data values along a single path, while
retaining a reasonable complexity for query evaluation. The strength of thislanguage is on the side of efficiency. The data model of the class of REMs is thatof edge-labeled directed graphs, in which each node is assigned a data value froman infinite domain. REMs define pairs of nodes in the graph database that arelinked by a path satisfying a given condition c. Each such condition c is definedin a formalism inspired by the class of register automata [8], allowing some data
values to be stored in the registers and then compared against other data values.
The evaluation problem for REMs is Pspace-complete (same than for FO overrelational databases), and can be solved in polynomial time in data complexity[9], i.e., assuming queries to be fixed.4 This shows that the language is, in fact,well-behaved in terms of the complexity of query evaluation.
The aim of this paper is to investigate the expressiveness and complexityof query evaluation for WL and the class of REMs with the hope of finding anavigational query language for data graphs that strikes a good balance between
these two important aspects of query languages.
Contributions. We start by considering WL, which is known to be a powerfulformalism in terms of expressiveness. Little is known about the cost of query evaluation for this language, save for the decidability of the evaluation problem andNP-hardness of its data complexity. Our first main contribution is to pinpoint
the exact complexity of the evaluation problem for WL (and thus answering an
open problem from [7]): we prove that it is non-elementary, and that this holds
even in data complexity, which rules out the practicality of the language.
4

Recall that data complexity is a reasonable measure of complexity in the databasescenario [15], since queries are often much smaller than the underlying data.

We thus move to the class of REMs, which suffers from the opposite drawback: Although the complexity of evaluation for queries in this class is reasonable,
the expressiveness of the language is too rudimentary for expressing some important path properties due to its inability to (i) compare data values in different
paths and (ii) express branching properties of the graph database. An example
of an interesting query that is not expressible as an REM is the following: (Q)
Find pairs of nodes x and y, such that there is a node z and a path π from x toy in which each node is connected to z. Notice that this is the query that lies atthe basis of the queries (Q1) and (Q2) we presented before.
Our second contribution then is to identify a natural extension of this language, called register logic (RL), that closes REMs under Boolean combinations
and existential quantification over nodes, paths and register assignments. The
latter allows the logic to express comparisons of data values appearing in different paths, as well as branching properties of the data. This logic is incomparable
in expressive power to WL. Besides, many natural queries relating data andtopology in data graphs can be expressed in RL including: the query (Q), hamiltonicity, the existence of an Eulerian trail, bipartiteness, and complete graphswith an even number of nodes. We then study the complexity of the problem ofquery evaluation for RL, and show that it can be solved in elementary time (inparticular, that it is Expspace-complete). This is in contrast to WL, for whicheven the data complexity is non-elementary. With respect to data complexity,
we prove that RL is Pspace-complete. We then identify a slight extension of its
existential-positive fragment, which is tractable (NLogspace) in data complexity and can express many queries of interest (including the query (Q)). The idea
behind this extension is that atomic REMs can be enriched with an existential
branching operator – in the style of the class of nested regular expressions [3] –that increases expressiveness without affecting the cost of evaluation.
Organization of the paper. Section 2 defines our data model. In Section 3,
we briefly recall the definition of walk logic and some basic results from [7]. In
Section 4, we prove that the data complexity of WL is nonelementary. Section
5 contains our results concerning register logic. We conclude in Section 6 with
future work.

2

The Data Model

We start with a definition of our data model: data graphs.
Definition 1 (Data graph). Let Σ be a finite alphabet. A data graph G over
Σ is a tuple (V, E, κ), where V is the finite set of nodes, E ⊆ V × Σ × V isthe set of directed edges labeled in Σ (that is, each triple (v, a, v 0 ) ∈ E is to beunderstood as an edge from v to v 0 in G labeled a), and κ : V → D is a functionthat assigns a data value in D to each node in V .
This is the data model adopted by Libkin and Vrgoč [9] in their definition of
REMs. In the case of WL [7], the authors adopted graph databases as their data
model, i.e., data graphs G = (V, E, κ) such that κ is injective (i.e. each node

carries a different data value). We shall adopt the general model of [9] sincenone of our complexity results are affected by the data model: upper bounds
hold for data graphs, while all lower bounds are proved in the more restrictive
setting of graph databases.
There is also the issue of node-labeled vs edge-labeled data graphs. Ourdata model is edge-labeled, but the original one for WL is node-labeled [7]. We
have chosen to use the former because it is the standard in the literature [2].
Again, this choice is inessential, since all the complexity results we present in thepaper continue being true if the logics are interpreted over node-labeled graphdatabases or data graphs (applying the expected modifications to the syntax).
Finally, in several of our examples we use logical formulas to express properties of undirected graphs. In each such case we assume that an undirected
graph H is represented as a graph database G = (V, E, κ) over unary alphabet
Σ = {a}, where V is the set of nodes of H and E is a symmetric relation (i.e.
(v, a, v 0 ) ∈ E iff (v 0 , a, v) ∈ E).

3

Walk Logic

WL is an elegant and powerful formalism for defining properties of paths ingraph databases, that was originally proposed in [7] as a yardstick for measuring
the expressiveness of different path logics.
The syntax of WL is defined with respect to countably infinite sets Π of pathvariables (that we denote π, π1 , π2 , . . . ) and T (π), for each π ∈ Π, of position
variables of sort π. We assume that position variables of different sort are different. We denote position variables by t, t1 , t2 , . . . , and we write tπ when we needto reinforce that position variable t is of sort π.
Definition 2 (Walk logic (WL)). The set of formulas of WL over finite alphabet Σ is defined by the following grammar, where (i) a ∈ Σ, (ii) t, t1 , t2
are position variables of any sort, (iii) π is a path variable, and (iv) tπ1 , tπ2 areposition variables of the same sort π:φ, φ0 := Ea (tπ1 , tπ2 ) | tπ1 < tπ2 | t1 ∼ t2 | ¬φ | φ ∨ φ0 | ∃tφ | ∃πφ
As usual, WL formulas without free variables are called Boolean.
To define the semantics of WL we need to introduce some terminology. A path(a.k.a. walk in [7]) in the data graph G = (V, E, κ) is a finite, nonempty sequenceρ = v1 a1 v2 · · · vn−1 an−1 vn , such that (vi , ai , vi+1 ) ∈ E for each 1 ≤ i < n. The
set of positions of ρ is {1, . . . , n}, and vi is the node in position i of ρ, for1 ≤ i ≤ n. The intuition behind the semantics of WL formulas is as follows.
Each path variable π is interpreted as a path ρ = v1 a1 v2 · · · vn−1 an−1 vn in thedata graph G, while each position variable t of sort π is interpreted as a position1 ≤ i ≤ n in ρ (that is, position variables of sort π are interpreted as positionsin the path that interprets π). The atomic formula Ea (tπ1 , tπ2 ) is true iff π isinterpreted as path ρ = v1 a1 v2 · · · vn−1 an−1 vn , the position p2 that interprets t2

in ρ is the successor of the position p1 that interprets t1 (i.e. p2 = p1 + 1), andnode in position p1 is linked in ρ by an a-labeled edge to node in position p2 (thatis, ap1 = a). In the same way, tπ1 < tπ2 holds iff in the path ρ that interprets π theposition that interprets t1 is smaller than the one that interprets t2 . Furthermore,t1 ∼ t2 is the case iff the data value carried by the node in the position assigned
to t1 is the same than the data value carried by the node in the position assigned
to t2 (possibly in different paths). We formalize the semantics of WL below.
Let G = (V, E, κ) be a data graph and φ a WL formula. Assume that Sφis the set that consists of (i) all position variables tπ and path variables π suchthat tπ is a free variable of φ, and (ii) all path variables π such that π is a freevariable of φ. Intuitively, Sφ defines the set of (both path and position) variables
that are relevant to define the semantics of φ over G. An assignment α for φ over
G is a mapping that associates a path ρ = v1 a1 v2 · · · vn−1 an−1 vn in G with eachpath variable π ∈ Sφ , and a position 1 ≤ i ≤ n with each position variable of theform tπ in Sφ (notice that this is well-defined since π ∈ Sφ every time a position
variable of the form tπ is in Sφ ). As usual, we denote by α[t → i] and α[π → ρ]
the assignments that are equal to α except that t is now assigned position i andπ the path ρ, respectively.
We say that G satisfies φ under α, denoted (G, α) |= φ, if one of the following
holds (we omit Boolean combinations which are standard):– φ = Ea (tπ1 , tπ2 ), the path α(π) is v1 a1 v2 · · · vn−1 an−1 vn , and it is the casethat α(tπ2 ) = α(tπ1 ) + 1 and a = aα(tπ1 ) .
– φ = tπ1 < tπ2 and α(tπ1 ) < α(tπ2 ).
– φ = (t1 ∼ t2 ), t1 is of sort π1 , t2 is of sort π2 , and κ(v1 ) = κ(v2 ), where vi isthe node in position α(ti ) of α(πi ), for i = 1, 2.
– φ = ∃tπ ψ and there is a position i in α(π) such that (G, α[tπ → i]) |= ψ.
– φ = ∃πψ and there is a path ρ in G such that (G, α[π → ρ]) |= ψ.
Example 1. A simple example from [7] that shows that WL expresses NP-complete
properties is the following query that checks if a graph has a Hamiltonian path:00∃π ∀tπ1 ∀tπ2 (tπ1 6= tπ2 → tπ1 6∼ tπ2 ) ∧ ∀π 0 ∀tπ1 ∃tπ2 (tπ1 ∼ tπ2 ) .
In fact, this query expresses that there is a path π that does not repeat nodes(because π satisfies ∀tπ1 ∀tπ2 (tπ1 6= tπ2 → tπ1 6∼ tπ2 )), and every node belongs to such00path (because π satisfies ∀π 0 ∀tπ1 ∃tπ2 (tπ1 ∼ tπ2 ), and, thus, every node that occurs
0
in some path π in the graph database also occurs in π).
24

WL Evaluation is Non-elementary in Data Complexity

In this section we pinpoint the precise complexity of query evaluation for WL.
It was proven in [7] that this problem is decidable. Although the precise complexity of this problem was left open in [7], one can prove that this is, in fact, anon-elementary problem by an easy translation from the satisfiability problem
for FO formulas – which is known to be non-elementary [13, 14]. In databases,however, one is often interested in a different measure of complexity – called
data complexity [15] – that assumes the formula φ to be fixed. This is a reasonable assumption since databases are usually much bigger than formulas. Oftenin the setting of data complexity the cost of evaluating queries is much smaller
than in the general setting in which formulas are part of the input. The main
result of this section is that the data complexity of evaluating WL formulas isnonelementary even over graph databases, which rules out its practicality.
Theorem 1. The evaluation problem for WL is non-elementary in data complexity. In particular, for each k ∈ Z>0 , there is a finite alphabet Σ and a Boolean
formula φ over Σ, such that the problem Eval(WL,φ) of evaluating the WL formula φ is k-Expspace-hard. In addition, the latter holds even if the input isrestricted to the class of graph databases.
Proof (Sketch): We start by sketching the case k = 1 here, which provides
insightful technical details about the nature of the proof. There is a Turingmachine M such that the following problem is ExpSpace-hard: given a word
w of size n, is there an accepting run of M over w using at most 2cn cells? Weprove that there is a formula φ ∈ WL of size polynomial in the size of M suchthat for all words w of size n, we can compute a graph Gw such thatGw  φiff

there is an accepting run of M over w using ≤ 2cn cells.

(1)

The formula φ is of the form ∃πψ(π), where ψ is a formula that does not containany quantification over path variables. Given a word w of size n, the label of thepath π in the graph Gw will encode an accepting run of M over the word w in
the following way. Suppose that in a configuration C, the content of the tape is
the word a1 . . . a2cn , the head is scanning cell number j0 and the state is q0 . The
configuration C is encoded by the word eC defined byc(0)($, a0 ) . . . c(j0 − 1)($, aj0 −1 )c(j0 )(q0 , aj0 )c(j0 + 1)($, aj0 +1 ) . . . c(2n )($, a2cn ),where c(j) is the binary representation of the number j. The pair c(j)(qj , aj )(where qj = q0 if j = j0 and qj = $ otherwise) is the description of cell number
j in C. A run C0 C1 . . . is encoded as the word eC0 eC1 . . . .
We think of a path π encoding a run as consisting of two parts: the first partcontains the encoding eC0 of the initial configuration and is a path through a
subgraph Iw of Gw , while the second part contains the encoding eC1 eC2 . . . andis a path through the subgraph Hw of Gw . If Q is the set of states of M and Γ
is the alphabet, we define Hw as the following graph
d1
0

0

0

d2

...
x

y
1

1

...

1
dl

z

where {dj : 1 ≤ j ≤ l} = (Q ∪ {$}) × Γ and the number of nodes with outgoingedges with labels 0 and 1 is equal to cn. The label of a path π 0 from the “leftmost” node x to the “right-most” node z with only once occurrence of x isexactly the description of a cell in a configuration: it is the binary encoding of
a number ≤ 2cn followed by a pair of the form (q 0 , a). We can define a formulaφC ∈ WL such that for all paths π starting in x and ending in z,
Hw  φC (π)

iffthe label of π is the encoding of a configuration.

We do not give details; φC has to express that the first number encoded in binary
is 0, that the last number is 2cn and that the encoding of the description of cellnumber j is followed by the description of cell number j + 1. Using the formulaφC , we can define a formula φ1 such that for all paths π,
Hw  φ1 (π)

iffthe label of π is the encoding of an accepting run.

The formula φ1 has to ensure that if eC eC 0 occurs in the label of π, then C and
C 0 are consecutive configurations according to M . Moreover, φ1 has to express
that eventually we reach the final state. In order to express φC and φ1 , weuse the ability of WL to check whether two positions correspond to the same
node. For example, in order to define φ1 , since we need to compare consecutive
configurations eC and eC 0 , we need to be able to compare the content of a cell in
configuration C and the content of that same cell in C 0 . In particular, we want
to be able to express whether two subpaths π00 and π10 of π starting in x andending in y correspond to the binary encoding of the same number. Since thelength of such subpaths depends on n, we cannot check node by node whether
π0
π0
the two subpaths are equal. However, it is sufficient to check that if t0 0 and t1 100ππcorresponds to the same node (t0 0 ∼ t1 1 ), then their successors also correpond00ππto the same node (t0 0 + 1 ∼ t1 1 + 1). Similarly, in the formula φC , we use
the operator ∼ in order to express that two subpaths correspond to the binary
encodings of numbers that are successors of each other.
Similarly to the way we define the graph Hw , we can introduce a graph Iw
and a formula φ0 (π) such thatIw  φ0 (π)

iffthe label of π is the encoding eC0 ,where C0 is the initial configuration of the run of M over w. By adding an“adequate edge” from Iw to Hw , we construct a graph Gw such that for allpaths π, Gw  φ0 (π) ∧ φ1 (π) iff the label of π is the encoding of an accepting
run over w. Hence, the formula φ := ∃π(φ0 (π) ∧ φ1 (π)) satisfies (1).
For the case where k > 1, the problem to adapt the above proof is that
we have to consider runs using a number of cells that is bound by a tower of
exponentials of height k. If k > 1, the binary representation of such a bound is
not polynomial. The trick is to represent such exponential towers by k-counters.
A 1-counter is the binary representation of a number. If k > 1, a k-counterc is a word σ0 l0 . . . σj0 lj0 , where lj is a (k − 1)-counter and σj ∈ {0, 1}. ThePj0
σj r(σj ). In particular, a tower ofcounter c represents the number r(c) = j=0
exponentials of height k is represented by a k-counter of polynomial size.
We can show that there are a graph Fk and a formula χk (π) such that thelabel of π is a k-counter iff Fk  χk (π). Using Fk and χk , we can then adapt theabove proof to the cases where k > 1.
2
As a corollary to the proof of Theorem 1, we obtain that data complexity is
non-elementary even for simple WL formulas that talk about a single path in agraph database.
Corollary 1. The evaluation problem for WL over graph databases is nonelementary in data complexity, even if restricted to Boolean WL formulas of
the form ∃πψ, where ψ uses no path quantification and contains no position
variable of sort different that π.

5Register Logic

We saw in the previous section that WL is impractical due to its very high data
complexity. In this section, we start by recalling the notion of regular expressions with memory (REM) and their basic results from [9]. The problem withthis logic though is its limitation in expressive power. For instance, the query(Q) from the introduction cannot be expressed in REM. We then introduce anextension of REM, called regular logic (RL), that remedies this limitation in
expressive power (in fact, it can express many natural examples of queries expressible in WL, e.g., those given in [7]) while retaining elementary complexityof query evaluation. Finally, we study which fragments of RL are well-behavedfor database applications.
5.1

Regular expressions with memory

REMs define pairs of nodes in data graphs that are linked by a path that satisfies
a constraint in the way in which the topology interacts with the underlying data.
REMs allow to specify when data values are remembered and used. Data values
are stored in k registers r1 , . . . , rk . At any point we can compare a data value
with one previously stored in the registers. As an example, consider the REM↓ r.a+ [r= ]. It can be read as follows: Store the current data value in register r,
and then check that after reading a word in a+ we see the same data value again(condition [r= ]). We formally define REM next.
Let r1 , . . . , rk be registers. The set of conditions c over {r1 , . . . , rk } is recursively defined as: c := ri= | c ∧ c | ¬c, for 1 ≤ i ≤ k. Assume that D⊥ is theextension of the set D of data values with a new symbol ⊥. Satisfaction of conditions is defined with respect to a value d ∈ D (the data value that is currentlykbeing scanned) and a tuple τ = (d1 , . . . , dk ) ∈ D⊥(the data values stored in theregisters, assuming that di = ⊥ represents the fact that register ri has no value
assigned) as follows (Boolean combinations omitted): (d, τ ) |= ri= iff d = di .

Definition 3 (REMs). The class of REMs over Σ and {r1 , . . . , rk } is definedby the grammar:
e := ε | a | e ∪ e | e · e | e+ | e[c] | ↓ r̄.e
where a ranges over symbols in Σ, c over conditions over {r1 , . . . , rk }, and r̄
over tuples of elements in {r1 , . . . , rk }.
That is, REM extends the class of regular expressions e – which is a popularmechanism for specifying topological properties of paths in graph databases (see,e.g., [16, 2]) – with expressions of the form e[c], for c a condition, and ↓ r̄.e, forr̄ a tuple of registers – that define how such topology interacts with the data.
Semantics: To define the evaluation e(G) of an REM e over a data graph G =(V, E, κ), we use a relation JeKG that consists of tuples of the form (u, λ, ρ, v, λ0 ),for u, v nodes in V , ρ a path in G from u to v, and λ, λ0 two k-tuples over D⊥ . The
intuition is the following: the tuple (u, λ, ρ, v, λ0 ) belongs to JeKG if and only if
the data and topology of ρ can be parsed according to e, with λ being the initialassignment of the registers, in such a way that the final assignment is λ0 . We
then define e(G) as the pairs (u, v) of nodes in G such that (u, ⊥k , ρ, v, λ) ∈ JeKG ,for some path ρ in G from u to v and k-tuple λ over D⊥ .
We inductively define relation JeKG below. We assume that λr̄=d , for d ∈ D,
is the tuple obtained from λ by setting all registers in r̄ to be d. Also, if ρ1 =v1 a1 v2 · · · vk−1 ak−1 vk and ρ2 = vk ak vk+1 · · · vn−1 an−1 vn are paths, then ρ1 ρ2 isthe path v1 a1 v2 · · · vk−1 ak−1 vk ak vk+1 · · · vn−1 an−1 vn . Then:k– JεKG = {(u, λ, ρ, u, λ) | u ∈ V, ρ = u, λ ∈ D⊥}.
k
– JaKG = {(u, λ, ρ, v, λ) | ρ = uav, λ ∈ D⊥ }.
– Je1 ∪ e2 KG = Je1 KG ∪ Je2 KG .
– Je1 ·e2 KG = Je1 KG ◦Je2 KG , where Je1 KG ◦Je2 KG is the set of tuples (u, λ, ρ, v, λ0 )such that (u, λ, ρ1 , w, λ00 ) ∈ Je1 KG and (w, λ00 , ρ2 , v, λ0 ) ∈ Je2 KG , for somew ∈ V , k-tuple λ00 over D⊥ , and paths ρ1 , ρ2 such that ρ = ρ1 ρ2 .
– Je+ KG = JeKG ∪ (JeKG ◦ JeKG ) ∪ (JeKG ◦ JeKG ◦ JeKG ) . . .
– Je[c]KG = {(u, λ, ρ, v, λ0 ) ∈ JeKG | (κ(v), λ0 ) |= c}.
– J↓ r̄.eKG = {(u, λ, ρ, v, λ0 ) | (u, λr̄=κ(u) , ρ, v, λ0 ) ∈ JeKG }.

For each REM e, we will use the shorthand notation e∗ to denote ε ∪ e+ .

Example 2. The REM Σ ∗ · (↓ r.Σ + [r= ]) · Σ ∗ defines the pairs of nodes thatare linked by a path in which two nodes have the same data value. The REM↓ r.(a[¬r= ])+ defines the pairs of nodes that are linked by a path ρ with label in
a+ , such that the data value of the first node in the path is different from thedata value of all other nodes in ρ.
2
The problem Eval(REM) is, given a data graph G = (V, E, κ), a pair (v1 , v2 )of nodes in V , and an REM e, is (v1 , v2 ) ∈ e(G)? The data complexity of the
problem refers again to the case when φ is considered to be fixed. REMs aretractable in data complexity and have no worst combined complexity than FOover relational databases:

Proposition 1 ([9]). Eval(REM) is Pspace-complete, and in Nlogspace indata complexity.
5.2

Register logic

REM is well-behaved in terms of the complexity of evaluation, but its expressive
power is rather rudimentary for expressing several data/topology properties ofinterest in data graphs. As an example, the query (Q) from the introduction– which can be easily expressed in WL – cannot be expressed as an REM (weactually prove a stronger result later). The main shortcomings of REM in termsof its expressive power are its inability to (i) compare data values in different
paths and (ii) express branching properties of the data.
In this section, we propose register logic (RL) as a natural extension of REM
that makes up for this lack of expressiveness. We borrow ideas from the logic
CRPQ¬ , presented in [4], that closes the class of regular path queries [6] under
Boolean combinations and existential node and path quantification. In the caseof RL we start with REMs and close them not only under Boolean combinations
and node and path quantification – which allow to express arbitrary patterns
over the data – but also under register assignment quantification – which permits
to compare data values in different paths. We also prove that the complexity ofthe evaluation problem for RL is elementary (Expspace), and, thus, that in thisregard RL is in stark contrast with WL.
To define RL we assume the existence of countably infinite sets of node,
path and register assignment variables. Node variables are denoted x, y, z, . . . ,path variables are denoted π, π 0 , π1 , π2 , . . . , and register assignment variables
are denoted ν, ν1 , ν2 , . . .
Definition 4 (Register logic (RL)). We define the class of RL formulas φover alphabet Σ and {r1 , . . . , rk } using the following grammar:¯ | (x, π, y) | e(π, ν1 , ν2 )atom := x = y | π = π 0 | ν = ν 0 | ν = ⊥φ := atom | ¬φ | φ ∨ φ | ∃xφ | ∃πφ | ∃νφHere x, y are node variables, π, π 0 are path variables, ν, ν 0 are register assignment
variables, and e is an REM over Σ and {r1 , . . . , rk }.
¯ holds iff ν is the empty register assignment, (x, π, y) checks
Intuitively, ν = ⊥that π is a path from x to y, and e(π, ν, ν 0 ) checks that π can be parsed according
to e starting from register assignment ν and finishing in register assignment ν 0 .
The quantifier ∃ν is to be read “there exists an assignment of data values in thedata graph to the registers”.
Let G = (V, E, κ) be a data graph over Σ and φ a RL formula over Σ and{r1 . . . , rk }. Assume that D is the set of data values that are mentioned in G,
i.e., D = {κ(v) | v ∈ V }. An assignment α for φ over G is a mapping that assigns(i) a node in V to each free node variable x in φ, (ii) a path ρ in G to each freepath variable π in φ, and (iii) a tuple λ in (D ∪ {⊥})k to each register variable νthat appears free in φ. That is, for safety reasons we assume that α(ν) can only
contain data values that appear in the underlying data graph. This represents
no restriction for the expressiveness of the logic.
We inductively define (G, α) |= φ, for G a data graph, φ a RL formula, andα an assignment for φ over G, as follows (we omit equality atoms and Boolean
combinations since they are standard):¯ iff α(ν) = ⊥k .
– (G, α) |= ν = ⊥– (G, α) |= (x, π, y) iff α(π) is a path from α(x) to α(y) in G.
– (G, α) |= e(π, ν, ν 0 ) iff (u, α(ν), α(π), v, α(ν 0 )) ∈ JeKG , assuming α(π) goesfrom node u to v.
– (G, α) |= ∃xφ iff there is node v ∈ V such that (G, α[x → v]) |= φ.
– (G, α) |= ∃πφ iff there is path ρ in G such that (G, α[π → ρ]) |= φ.
– (G, α) |= ∃νφ iff there is tuple λ in (D ∪ {⊥})k such that (G, α[ν → λ]) |= φ.
Thus, each REM e is expressible in RL using the formula:¯ ∧ e(π, ν, ν 0 ) ).
∃π∃ν∃ν 0 ( ν = ⊥Example 3. Recall query (Q) from the introduction: Find pairs of nodes x andy in a graph database, such that there is a node z and a path π from x to y
in which each node is connected to z. This query can be expressed in RL over
Σ = {a} and a single register r as follows:∃π (x, π, y) ∧ ∃z∀ν(e1 (π, ν, ν) → ∃z 0 ∃π 0 ((z 0 , π 0 , z) ∧ e2 (π 0 , ν, ν))) ,where e1 := a∗ [r= ] · a∗ is the REM that checks whether the node (i.e. data)stored in register r appears in a path, and e2 := ε[r= ] · a∗ is the REM thatchecks if the first node of a path is the one that is stored in register r.
In fact, this formula defines the pairs of nodes x and y such that there exists
a path π that goes from x to y and a node z for which the following holds: forevery register value ν (i.e., for every node ν) such that e1 (π, ν, ν) (i.e. node ν
is in π), it is the case that there is a path π 0 from some node z 0 to z such thate2 (π 0 , ν, ν) (i.e., z 0 = ν and π 0 connects ν to z). Notice that this uses the factthat the underlying data model is that of graph databases, in which each nodeis uniquely identified by its data value.
2Complexity of evaluation for RL: The evaluation problem for RL, denoted
Eval(RL), is as follows: Given a data graph G, a RL formula φ, and an assignment α for φ over G, is it the case that (G, α) |= φ? As before, we denote byEval(RL,φ) the evaluation problem for the fixed RL formula φ.
We show next that, unlike WL, register logic RL can be evaluated in elementary time, and, actually, with only one exponential jump over the complexity ofevaluation of REMs:
Theorem 2. Eval(RL) is Expspace-complete. The lower bound holds even if
the input is restricted to graph databases.

Proof (Idea): For the upper bound, we adapt for RL the proof that CRPQ¬
formulas can be evaluated in Pspace [4]. This requires some care in the way
in which register values and atomic REM formulas are handled. The extra exponential blow up is produced by the fact that checking whether a path ρ in adata graph G does not satisfy an REM e (i.e. whether it is not the case that¯ ρ, v, λ) ∈ JeKG , for some register assignment λ, assuming that ρ goes from(u, ⊥,
u to v) requires exponential space. The lower bound is obtained by a reduction
from the acceptance problem for a Turing machine that works in Expspace. 2
The increase in expressiveness of RL over REM has an important cost indata complexity, which becomes intractable:
Theorem 3. Eval(RL) is in Pspace in data complexity. Furthermore, there
is a finite alphabet Σ and a RL formula φ over Σ and a single register r, suchthat Eval(RL,φ) is Pspace-hard. In addition, the latter holds even if the input
is restricted to graph databases.
In the next section we introduce an interesting language, based on a restriction of RL, that is tractable in data complexity, and thus better suited for
database applications. This language is a proper extension of REM. But before,
we make some important remarks about the expresive power of RL.
Expressive power of RL: We now look at the expressive power of the logic
RL. It was proven in [7] that CRPQ is not subsumed in WL. Since RL subsumes
CRPQ¬ , it follows that RL is not subsumed in WL. On the other hand, WL
is also not subsumed in RL due to Theorem 1, Theorem 2, and the standard
time/space hierarchy theorem from complexity theory. Therefore, we have thefollowing proposition:
Proposition 2. The expressive powers of WL and RL are incomparable.
On the other hand, we shall argue now that many natural queries about the interaction between data and topology are also expressible in RL. The aforementioned
query (Q) is one such example. We shall now mention other examples: hamiltonicity (H), the existence of Eulerian trail (E), bipartiteness (B), and completegraphs with even number of nodes (C2). The first two are expressible in WL,
while (B) and (C2) are not known to be expressible in WL. We conjecture thatthey are not.
We now show how to express in RL the existence of a hamiltonian path in agraph; the query (E) can be expressed in the same way but with two registers (toremember edges, i.e., consisting of two nodes). This is done with the following
formula over Σ = {a} and a single register r:∃π ∀λ∀λ0 ¬e1 (π, λ, λ0 ) ∧ ∀λ(λ 6= ⊥ → e2 (π, λ, λ)) ,where e1 := a∗ · (↓r.a+ [r= ]) · a∗ is the REM that checks whether in a path somenode is repeated (i.e., that it is not a simple path), and e2 := a∗ [r= ]a∗ is the
REM that checks that the node stored in register r appears in a path. In fact,this query expresses that there is a path π that it is simple (as expressed by theformula ∀λ∀λ0 ¬e1 (π, λ, λ0 )), and every node of the graph database is mentionedin π (as expressed by the formula ∀λ(λ 6= ⊥ → e2 (π, λ, λ))).
We now show how to express in RL the property bipartiteness from graphtheory. An undirected G = (V, E) is bipartite if its set of nodes can be partitioned
into two sets S1 and S2 such that, for each edge (v, w) ∈ E, either (i) v ∈ S1
and w ∈ S2 , or (ii) v ∈ S2 and w ∈ S2 . It is well-known that a graph database isbipartite iff it does not have cycles of odd length. The latter is expressible in RL
since the existence of an odd-length cycle can be expressed as ∃π∃λ∃λ0 e(π, λ, λ0 ),where e =↓ r.a(aa)∗ [r= ].
We now show how to express in RL that a graph database is a completegraph with an even number of nodes. To this end, it is sufficient and necessary
to express the existence of a hamiltonian path π with an odd number of edges
in the graph. But this is a simple modification of our formula for expressing
hamiltonicity: we add the check that π has an odd number of edges by adding
the conjunct e(π, ν, ν 0 ), where e = a ∪ a(aa)+ , and close the entire formula under
existential quantification of ν and ν 0 .
5.3

Tractability in data complexity

Let RL+ be the positive fragment of RL (i.e. the logic obtained from RL by
forbidding negation and adding conjunctions). It is easy to prove that the data
complexity of the evaluation problem for RL+ is tractable (NLogspace). Thisfragment contains the class of conjunctive REMs, that has been previously identified as tractable in data complexity [9]. However, the expressive power of RL+
is limited as the following proposition shows.
Proposition 3. The query (Q) from the introduction is not expressible in RL+ .
On the other hand, increasing the expressive power of RL+ with some simple
forms of negation leads to intractability of query evaluation in data complexity:
Proposition 4. There is a finite alphabet Σ and REMs e1 , e2 , e3 , e4 over Σ anda single register r, such that Eval(RL,φ) is Pspace-complete, where φ is either∃π∃λ¬(e1 (π, ⊥, λ) ∨ e2 (π, ⊥, ⊥)) or ∃π∀λ¬(e3 (π, ⊥, λ) ∨ e4 (π, ⊥, ⊥)).
In the case of basic navigational languages for graph databases, it is possible
to increase the expressive power – without affecting the cost of evaluation –by extending formulas with a branching operator (in the style of the class ofnested regular expressions [3]). The same idea can be applied in our scenario,
by extending atomic REM formulas in RL+ with such branching operator. The
resulting language is more expressive than RL+ (in particular, this extension
can express query (Q)), yet remains tractable in data complexity. We formalize
this idea below.
The class of nested REMs (NREM) extends REM with a nesting operator h·idefined as follows: If e is an NREM then hei is also an NREM. Intuitively, theformula hei filters those nodes in a data graph that are the origin of a path thatcan be parsed according to e. Formally, if e is an NREM over k registers and G
is a data graph, then JheiKG consists of all tuples of the form (u, λ, ρ = u, u, λ)such that (u, λ, ρ0 , v, λ0 ) ∈ JeKG , for some node v in G, path ρ0 in G, and k-tuple
λ0 over D⊥ .
Let NRL+ be the logic that is obtained from RL+ by allowing atomic formulasof the form e(π, ν, ν 0 ), for e an NREM. Given a data graph G and an assignment
α for π, ν and ν 0 over G, we write as before (G, α) |= e(π, ν, ν 0 ) if and only if α(π)
goes from u to v and (u, α(ν), α(π), v, α(ν 0 )) ∈ JeKG . The semantics of NRL+
is thus obtained from the semantics of these atomic formulas in the expected
way. The following example shows that query (Q) is expressible in NRL+ , and,
therefore, that NRL+ increases the expressiveness of RL+ .
Example 4. Over graph databases, the query (Q) from the introduction is expressible in NRL+ using the following formula over Σ = {a} and register r:
φ = ∃π∃ν (x, π, y) ∧ e(π, ν, ν) ,where e := (he1 i·a)∗ he1 i, for e1 = a∗ [r= ]. Intuitively, e1 checks in a path whether
its last node is precisely the node stored in register r, and thus e checks whether
every node in a path can reach the node stored in register r. Therefore, theformula φ defines the set of pairs (x, y) of nodes, such that there is a path π that
goes from x to y and a register value ν (i.e., a node ν) that satisfy that every
node in π is connected to ν.
2
The extra expressive power of NRL+ over RL+ does not affect the data
complexity of query evaluation:
Theorem 4. Evaluation of NRL+ formulas can be solved in NLogspace indata complexity.
From the proof of Theorem 4 it also follows that NRL+ formulas can beevaluated in Pspace in combined complexity.

6

Conclusions and Future Work

We have proven that the data complexity of walk logic is nonelementary, whichrules out the practicality of the logic. We have proposed register logic, which is anextension of regular expressions with memory. Our results in this paper suggestthat register logic is capable of expressing natural queries about interactions
between data and topology in data graphs, while still preserving the elementary
data complexity of query evaluation (Pspace). Finally, we showed how to makeregister logic more tractable in data complexity (NLogspace) through the logic
NRL+ , while at the same time preserving some level of expressiveness of RL.
We leave open several problems for future work. One interesting question is to
study the expressive power of extensions of walk logic, in comparison to RL and
ECRPQ¬ from [4]. For example, we can consider extensions with regularity tests(i.e. an atomic formula testing whether a path belongs to a regular language).

Even in this simple case, the expressive power of the resulting logic, compared
to RL and ECRPQ¬ , is already not obvious. Secondly, we do not know whether
NRL+ is strictly more expressive than RL. Finally, we will also mention that
expressibility of bipartiteness in WL is still open (an open question from [7]).
We also leave open whether the query that a graph database is a complete graphwith an even number of nodes is expressible in WL.
Acknowledgements: We thank the reviewers for the useful comments. Barceló isfunded by Fondecyt grant 1130104, Fontaine by Fondecyt postdoctoral grant 3130491,
and Lin by EPSRC (EP/H026878/1). Part of this work was done when Lin visited
Barceló funded by Fondecyt grant 1130104.

References
1. R. Angles, C. Gutiérrez. Survey of graph database models. ACM Comput. Surv.
40(1), 2008.
2. P. Barceló. Querying graph databases. In PODS 2013, pages 175-188.
3. P. Barceló, J. Pérez, J. L. Reutter. Relative expressiveness of nested regular expressions. In AMW 2012, pages 180-195.
4. P. Barceló, L. Libkin, A. W. Lin, P. T. Wood. Expressive languages for path queries
over graph-structured data. ACM Trans. Database Syst. 37(4): 31, 2012.
5. E. M. Clarke, O. Grumberg, D.A. Peled. Model checking. MIT Press, 2000.
6. I. Cruz, A. O. Mendelzon, P. T. Wood. A graphical query language supporting
recursion. In SIGMOD 1987, 323-330.
7. J. Hellings, B. Kuijpers, J. van den Bussche, X. Zhang. Walk logic as a frameworkfor path query languages on graph databases. In ICDT 2013, pages 117-128.
8. M. Kaminski, N. Francez. Finite memory automata. TCS, 134(2), pages 329-363,
1994.
9. L. Libkin, D. Vrgoč. Regular path queries on graphs with data. In ICDT 2012,
pages 74-85.
10. L. Libkin, D. Vrgoč. Regular expressions for data words. In LPAR 2012, pages
274-288.
11. L. Libkin, J. L. Reutter, D. Vrgoc. Trial for RDF: adapting graph query languages
for RDF data. In PODS 2013, pages 201-212.
12. A. O. Mendelzon, P. T. Wood. Finding regular simple paths in graph databases.
SIAM J. Comput., 24(6):1235–1258, 1995.
13. L.E. Robertson. Structure of complexity in the weak monadic second-order theoriesof the natural numbers. In STOC 1974, pages 161-171.
14. L. Stockmeyer. The complexity of decision problems in automata theory and logic.
Ph.D. thesis, MIT, 1974.
15. M. Y. Vardi. The complexity of relational query languages. In STOC 1982, pages
137-146.
16. P. T. Wood. Query languages for graph databases. SIGMOD Record 41(1), pages
50-60, 2012.