An Algebra and Equivalences to Transform Graph Patterns in Neo4j

Jürgen Hölsch, Michael Grossniklaus · KOPS (University of Konstanz) · 2016

Modern query optimizers of relational database systems em-body more than three decades of research and practice in the area of data management and processing. Key advances in-clude algebraic query transformation, intelligent search space pruning, and modular optimizer architectures. Surprisingly, many of these contributions seem to have been overlooked in the emerging field of graph databases so far. In particular, we believe that query optimization based on a general graph algebra and its equivalences can greatly improve on the cur-rent state of the art. Although some graph algebras have already been proposed, they have often been developed in a context, in which a relational database system is used as a backend to process graph data. As a consequence, these al-gebras are typically tightly coupled to the relational algebra, making them unsuitable for native graph databases. While we support the approach of extending the relational algebra, we argue that graph-specific operations should be defined at a higher level, independent of the database backend. In this paper, we introduce such a general graph algebra and corresponding equivalences. We demonstrate how it can be used to optimize Cypher queries in the setting of the Neo4j native graph database. 1.

Read the paper · More papers on PaperTik