Existing Languages
An informal 'Existing Languages Working Group' has been working on a comparative analysis of existing graph query languages with a goal of creating a reference document of fine-grained graph query features that can be used to drive requirements for a Graph Query Language standard.
The lineage of existing graph query languages and the SQL/PGQ and GQL standards work. Note the overlap between SQL/PGQ (Property Graph Queries in SQL) and GQL (Graph Query Language). In the ISO/IEC standards, the specifications that are used by both parts will be defined in one standard and referenced by the other standard. Source: Petra Selmer
The current participants in the Existing Languages Working Group (ELWG) are:
- Renzo Angles (Universidad de Talca (Chile))
- Alin Deutsch (TigerGraph)
- Thomas Frisendal (Independent data modelling expert and author)
- Victor Lee (TigerGraph)
- Roi Lipman (Redis Labs)
- Jeffrey Lovitz (Redis Labs)
- Petra Selmer (Neo4j)
- Harsh Thakkar (University of Bonn (Germany))
- Oskar van Rest (Oracle)
- Mingxi Wu (TigerGraph)
- Boris Iordanov (HypergraphDB)
The ELWG is analyzing the following languages:
- openCypher [reference | publication]
- PGQL [reference | publication]
- GSQL [reference | paper]
- SQL Property Graph extensions envisaged for SQL 2020 [references]
- G-CORE [publication]
- Gremlin [reference]
- SPARQL [reference]
- GraphQL [reference]
- OrientDB [reference]
- GRAQL [reference]
Goals
The work is envisioned to comprise a catalogue of: the groups of features; to which extent (if at all) these are supported in each language; exemplar syntax; supplementary artifacts to aid in the understanding of the underlying semantics; grammar constructs; and any additional details of interest.
The idea is to have this landscape of existing query languages to hand in order to inform the design and development of GQL by virtue of a well-informed work plan and helping to lead to a more robust outcome; i.e. this would help us to have clear and meaningful discussions on scope and priorities, and will facilitate clear and unambiguous design choices. Moreover, this will help us to identify areas of consolidation, innovation and opportunities for language inter-operation in GQL (for example, with SPARQL).
Methodology
We have used a phased approach, and began in Phase 1 by examining the basic feature groups, such as basic querying and operations, and will move onto composable querying and complex patterns in future phases.
Links and resources:
- Phase 1 results for openCypher, PGQL, GSQL, SQL Property Graph Extensions and G-CORE.
- "Graph Analysis of Candidate GQL Features" by Thomas Frisendal (Fifth openCypher Implementers Meeting, March 2019) [Slides] [Recording]