  We propose GLL-based context-free path querying algorithm which handles
queries in Extended Backus-Naur Form (EBNF) using Recursive State Machines
(RSM). Utilization of EBNF allows one to combine traditional regular
expressions and mutually recursive patterns in constraints natively. The
proposed algorithm solves both the reachability-only and the all-paths problems
for the all-pairs and the multiple sources cases. The evaluation on realworld
graphs demonstrates that utilization of RSMs increases performance of query
evaluation. Being implemented as a stored procedure for Neo4j, our solution
demonstrates better performance than a similar solution for RedisGraph.
Performance of our solution of regular path queries is comparable with
performance of native Neo4j solution, and in some cases our solution requires
significantly less memory.
