It is our aim to make the process of specifying and evolving the Cypher 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 made by the Cypher Language Group. That said, we are of course extremely grateful for comments and suggestions on how to improve the Cypher query language.
The Cypher Language Group consists of:
Andrés, in capacity of being the "father of Cypher", has ultimate say, should that ever be necessary. Petra acts as PM for the group, calling meetings and ensuring that notes get taken at said meetings.
Ultimately, proposals for improving the Cypher query language should take the form of a Cypher Improvement Proposal (CIP).
These should typically be proposed as pull requests against this repository, proposing the addition of a document following a naming scheme of CIP{year}-{month}-{day}-{name}.asciidoc
.
The “{name}” part of the filename is a very short name of the proposed changed; for instance the keyword the proposal intends to add or modify.
If the “{name}” part contains multiple words, each word should be written using lower case characters, separated by a dash.
The date portion of the name is the the initial date of proposing the CIP (typically the same date as the submission of the pull request).
CIPs that additionally come with a reference implementation are very much appreciated, as is helps clarify the workings of the proposed improvement. This would help make the handling of the proposal quicker, or perhaps even make it more likely to be accepted.
Suggestions and ideas are also welcome and much appreciated; these would best be submitted as "issues" in this repository on GitHub. The expectation is that these would eventually result in a CIP being created.
A Cypher Improvement Proposal, or CIP for short, is a document that details a change to Cypher.
Proposing a change to Cypher starts by either submitting a CIP as a pull request to this repository, or by submitting a feature request. A direct submission of a CIP is appropriate if the proposed changed is in the form of a concrete proposal. A feature request is typically the preferred method of starting a proposal. By starting from a feature request, you will be able to judge how large the general interest for the feature is before you embark on writing the CIP. Starting from a feature request also facilitates building an "experts group" that can work with you on the details of the proposal.
The comment thread on the GitHub issue for the feature proposal is an excellent place for discussing ideas
The Cypher Language Group published meeting notes from all the group meetings at https://opencypher.github.io/meeting-minutes/
-
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 Compliance 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.
-
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: https://groups.google.com/forum/#!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.
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.