Introducing PathQuery, Google's Graph Query Language
We introduce PathQuery, a graph query language developed to scale with
Google's query and data volumes as well as its internal developer community.
PathQuery supports flexible and declarative semantics. We have found that this
enables query developers to think in a naturally "graphy" design space and to
avoid the additional cognitive effort of coordinating numerous joins and
subqueries often required to express an equivalent query in a relational space.
Despite its traversal-oriented syntactic style, PathQuery has a foundation on a
custom variant of relational algebra -- the exposition of which we presently
defer -- allowing for the application of both common and novel optimizations.
We believe that PathQuery has withstood a "test of time" at Google, under both
large scale and low latency requirements. We thus share herein a language
design that admits a rigorous declarative semantics, has scaled well in
practice, and provides a natural syntax for graph traversals while also
admitting complex graph patterns.
Back
Read News