GithubHelp home page GithubHelp logo

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

Changes to openCypher are made through consensus in the openCypher Implementers Group (oCIG). The process for proposing changes, voting on proposals and measuring consensus is described in this set of slides.

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

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 and can be found here:

      • Railroad diagrams

      • EBNF

      • ANTLR4 Grammar

  • 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 implementers of openCypher.

Building

This repository uses a Maven build and supports cross building for Scala 2.12 and Scala 2.13:

  • For Scala 2.12, use mvn -U clean install -P scala-212

  • For Scala 2.13 use mvn -U clean install -P scala-213

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: 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.

© Copyright 2015-2017 Neo Technology, Inc.

Feedback

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.

License

The openCypher project is licensed under the Apache license 2.0.

opencypher's Projects

front-end icon front-end

Parsing, AST and semantic analysis for the Cypher Query Language

link icon link

Link is an implementation of the OKAPI pipeline, bringing the Cypher query language to Apache Flink

meeting-minutes icon meeting-minutes

Cypher Language Group and Open Cypher Experts Groups meeting minutes

morpheus icon morpheus

Morpheus brings the leading graph query language, Cypher, onto the leading distributed processing platform, Spark.

opencypher icon opencypher

Specification of the Cypher property graph query language

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.