  The formalism of RPQs (regular path queries) is an important building block
of most query languages for graph databases. RPQs are generally evaluated under
homomorphism semantics; in particular only the endpoints of the matched walks
are returned. Practical applications often need the full matched walks to
compute aggregate values. In those cases, homomorphism semantics are not
suitable since the number of matched walks can be infinite. Hence,
graph-database engines adapt the semantics of RPQs, often neglecting
theoretical red flags. For instance, the popular query language Cypher uses
trail semantics, which ensures the result to be finite at the cost of making
computational problems intractable.
  We propose a new kind of semantics for RPQs, including in particular
simple-run and binding-trail semantics, as a candidate to reconcile theoretical
considerations with practical aspirations. Both ensure the output to be finite
in a way that is compatible with homomorphism semantics: projection on
endpoints coincides with homomorphism semantics. Hence, testing the emptiness
of result is tractable, and known methods readily apply. Moreover, simple-run
and binding-trail semantics support bag semantics, and enumeration of the bag
of results is tractable
