Introducing PathQuery, Google's Graph Query Language

06/17/2021
by   Jesse Weaver, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/03/2017

Optimizing Google Shopping Campaigns Structures With Query-Level Matching

How to bid on a Google shopping account (set of shopping campaigns) with...
research
10/30/2021

A Non-Deterministic Multiset Query Language

We develop a multiset query and update language executable in a term rew...
research
04/08/2019

On matrices and K-relations

We show that the matrix query language MATLANG corresponds to a natural ...
research
07/20/2017

An extension of SPARQL for expressing qualitative preferences

In this paper we present SPREFQL, an extension of the SPARQL language th...
research
02/21/2022

A Rule-based Operational Semantics of Graph Query Languages

We consider a core language of graph queries. These queries are seen as ...
research
08/02/2022

Principles of Query Visualization

Query Visualization (QV) is the problem of transforming a given query in...

Please sign up or login with your details

Forgot password? Click here to reset