The Cypher Property Graph Query Language

This repository holds the specification of Cypher, a declarative property graph query language. Its purpose is to be central to the process of evolving the specification and standardisation of Cypher as a graph query language.

Overview of the process

It is our aim to make the process of specifying and evolving the Cypher property graph database query language as open as possible. "We" are the Cypher Language Group, put together by Neo Technology to govern the Cypher query language.

While we aim for the process to be open, this does not mean a public democracy, as all decisions are currently made by the Cypher Language Group (CLG). That said, we are of course extremely grateful for comments and suggestions on how to improve the Cypher query language.

Refer to the Cypher Improvement Process document for more details on CIPs, CIRs, their structure and lifecycle.

The Cypher Language Group

The Cypher Language Group consists of:

Stefan, in capacity of being the current team lead, has ultimate say on language design, should that ever be necessary. Petra additionally acts as secretary for the group, calling meetings and ensuring that notes get taken at said meetings.

Cypher was originally created by Andrés Taylor.

Meeting notes

The Cypher Language Group published meeting notes from all the group meetings at

The structure of this repository

  • Cypher Improvement Proposals (CIP), /cip

    • Contains a list of accepted CIP documents.

  • Cypher grammar, /grammar

    • Contains the Cypher grammar specification, in XML source format.

    • A more readily consumable form of the grammar is generated as output from the build:

  • Cypher Technology Compatibility Kit (TCK), /tck

    • Contains a set of Cucumber features that define Cypher behaviour, and documentation on how to use it.

  • openCypher developer tools, /tools

    • Contains code that tests the integrity of the repository, generates release artifacts, and aids implementors of openCypher.

Contact us

There are several ways to get in touch with the openCypher project and its participants:

  • Are you interested in implementing openCypher for your platform, but you have general questions and want to reach out to other community members with similar interests? Post to our Google Groups mailing list:!forum/opencypher

  • For specific feature requests or bug reports, please open an issue on this repository.

  • Do you have a particular contribution in mind, and concrete ideas on how to implement them? Open a pull request.

© Copyright 2015-2017 Neo Technology, Inc.


Any feedback you provide to Neo Technology, Inc. through this repository shall be deemed to be non-confidential. You grant Neo Technology, Inc. a perpetual, irrevocable, worldwide, royalty-free license to use, reproduce, modify, publicly perform, publicly display and distribute such feedback on an unrestricted basis.


The openCypher project is licensed under the Apache license 2.0.