cloudparts

openCypher

The open specification of Cypher, the graph pattern language from Neo4j: a grammar, a compatibility test kit and improvement proposals, now used to move Cypher implementations toward the ISO GQL standard.

What it is
Graph databases
Type
Open source
Made by
Neo4j, Inc.
License
Apache 2.0
Facts checked
24 October 2026

What it is

Cypher describes graph patterns as ASCII art, such as (a:Person)-[:KNOWS]->(b:Person), inside SQL-like clauses: MATCH, WHERE, WITH, RETURN, ORDER BY. openCypher publishes what another database needs to implement it: the Cypher Query Language Reference (Version 9), a grammar in ISO WG3 BNF with ANTLR and EBNF versions, a Technology Compatibility Kit (TCK) of Cucumber scenarios that define how each feature must behave, and Cypher Improvement Proposals (CIPs). It ships no database or query engine; each implementer writes its own planner, runtime and storage. Neo4j says more than a dozen graph databases support Cypher, among them Memgraph, Amazon Neptune, Apache AGE inside PostgreSQL, TigerGraph (inside GSQL) and PuppyGraph.

Since ISO published GQL (ISO/IEC 39075) on 11 April 2024, language design has moved to ISO, and openCypher’s job is to pave the road to GQL. openCypher 9 is frozen, and changes are made only by adding GQL features to the grammar and specification, in releases named after the target standard: 2024.1 in April 2025, 2024.2 in July 2025 and 2024.3 in March 2026, which added the SHORTEST path syntax. The repository is copyright Neo4j and Apache 2.0 licensed; since January 2026 its README says it is not an official Neo4j product, is maintained by Neo4j employees or contributors in a personal or experimental capacity, and comes unsupported.

Why teams pick it

  • Patterns read like the graph they match, and the same core syntax works across many products
  • The TCK gives implementers a concrete conformance test, not just prose
  • Cypher was a major input to GQL, and openCypher’s grammar is being extended toward it, so Cypher queries and skills carry forward

Watch out for

  • A specification, not software: each product supports a different subset and adds its own extensions, so queries don’t always move between engines unchanged
  • openCypher 9 is frozen and only GQL features are added, so vendor extensions beyond that are not specified anywhere shared
  • Low activity and no support commitment: a handful of commits a year, and the README describes the repository as unofficial and unsupported
Data model
Property graph
Query language
Cypher (openCypher 9, frozen), extended toward ISO GQL

Alternatives

What all graph databases have in common →Compare side by side →

How it fits with other technologies

See it in a real stack

No architecture uses openCypher yet. Drop it into the playground and wire it up yourself.Open playground →
Where it came from2015–2026

Neo4j created Cypher as the query language for its own database. On 21 October 2015, at GraphConnect San Francisco, CEO Emil Eifrem launched openCypher to make it available to any data store, tool or application, the way SQL became a common language for relational databases, with support from Oracle, Databricks, Tableau and Structr. Neo4j promised reference documentation, a TCK, a reference parser under Apache 2.0 and a formal specification of the syntax.

From February 2017 to March 2019 the openCypher Implementers Group met virtually and in person to work on multiple graphs, subqueries and path queries, and Cypher for Apache Spark appeared in 2017. Work on property graph extensions to SQL fed proposals for a new standard language, which ISO published as GQL in April 2024, with Cypher as a major input.

In May 2024 Neo4j said openCypher would “pave the road to GQL”: openCypher 9 would be frozen and new releases would only add GQL features. Three such grammar releases followed between April 2025 and March 2026, and in January 2026 a disclaimer was added that the repository is not an official Neo4j project.

Why it’s built this way

Open the language, keep the database
Neo4j wanted Cypher to become a common language for property graphs, the way SQL is for tables, which only works if other vendors can implement it freely.
A test kit instead of a reference engine
A TCK lets each vendor self-certify which Cypher features it supports while building its own planner and storage.
Follow GQL instead of evolving separately
Once ISO took over language design, a separate Cypher roadmap would split the ecosystem, so openCypher only adds features from the standard.

Timeline

  1. 2015

    Neo4j launches openCypher with Oracle, Databricks, Tableau and Structr

  2. 2017

    openCypher Implementers Group meetings begin; Cypher for Apache Spark

  3. 2019

    Last Implementers Group meeting, in March

  4. 2024

    ISO publishes GQL; openCypher 9 is frozen

  5. 2025

    First GQL-aligned grammar release, 2024.1, in April

  6. 2026

    Release 2024.3 adds SHORTEST; repository marked unofficial

Sources10 · facts checked 24 October 2026

Improve this page on GitHub