About

What is Cypher?

Cypher is a graph query language that allows for expressive and efficient querying of graph data. Cypher is intuitive, powerful and easy to learn.

It lets you write graph queries by describing patterns in your data. Because graphs already describe your domain, Cypher lets you focus on your domain instead of getting lost in the mechanics of data access.

Designed to be a human readable query language, Cypher is suitable for developers and operations professionals alike. The guiding principle behind Cypher is to make simple things easy and complex things possible. Cypher combines English prose and intuitive iconography, making queries more self-explanatory.

Cypher is declarative, which means it lets users express what data to retrieve, letting the engine underneath take care of seamlessly retrieving it. In contrast, imperative or scripting languages, including early-generation graph languages, require query writers to have a deep technical understanding of physical implementation details. Cypher eliminates this burden.

The expressive querying of Cypher is inspired by a number of different approaches and established practices. Most of the keywords, such as WHERE and ORDER BY , are inspired by SQL, while pattern matching borrows from SPARQL. In addition, some of the collection semantics have been borrowed from languages such as Haskell and Python.

How does openCypher benefit me?

The openCypher project makes it possible for any developer or technology provider to use Cypher and incorporate graph processing capabilities within that product or application.

Easy-to-learn and yet extremely powerful, Cypher is the industry’s most successful and widely adopted graph query language. With the advent of openCypher, the language promises to be just as instrumental in the growth of graph processing and analysis as SQL was instrumental in accelerating the adoption of RDBMS.

With tens of thousands of users already trained in Cypher and numerous tooling providers already offering support for the language, openCypher provides a seamless way for industry participants to provide graph capabilities in their data platforms – ranging from database suppliers, tooling vendors and the broader graph ecosystem.

For data and tooling providers:
  • Improve time to market with tools, tests and specifications that enable rapid access to graph processing capabilities
  • Collaborate on the evolution of Cypher to increase the size of the graph ecosystem
For application developers:
  • Reuse graph query knowledge and skills across a multitude of products that support
  • Cypher as the graph query language
For enterprises:
  • Interoperability and vendor independence by interfacing with products using a common query language
  • Higher availability of skilled developers trained in a graph query language used across multiple products

What will be delivered as part of openCypher?

The project aims to deliver four types of artifacts:

  • Cypher Reference Documentation
    Comprehensive user documentation describing use of the Cypher query language with examples and tutorials.
  • Grammar specification
    A syntax and language composition specification in XML format, along with derived artifacts comprising a parser, EBNF-style grammar(s), and railroad diagrams.
  • TCK (Technology Compatibility Kit)
    The TCK consists of a number of tests that a software supplier would run in order to self-certify support for a given version of Cypher.
  • Cypher language specification
    Licensed under the Creative Commons license, the Cypher language specification is a technical expression of the language syntax to enable parsers to auto-generate the query syntax. A full semantic specification is also planned as a part the openCypher project.

What is the industry saying about openCypher?

SAP

"Cypher Query Language is the de-facto open industry standard for graph processing. SAP HANA Graph now supports a subset of Cypher (focusing on the querying aspects) – making it possible to migrate existing apps to HANA more easily or simply take advantage of existing skills. So if MATCH, WHERE and RETURN clauses are your thing you're well set! Cypher scripts can be embedded during pattern patching via the graph node of the calculation view editor in SAP Web IDE for HANA or from SQLScript."
- Philip Mugglestone, SAP HANA

Databricks

"Graph processing is becoming an indispensable part of the modern big data stack. Neo4j’s Cypher query language has greatly accelerated graph database adoption. We look forward to bringing Cypher’s graph pattern matching capabilities into the Spark stack, making graph querying more accessible to the masses."
- Ion Stoica, CEO, DataBricks

Neo4j

"Companies such as Google, Facebook and LinkedIn have leveraged graph processing to transform their respective industries. openCypher promises to bring the same transformative power of graphs to enterprises of any size."
- Emil Eifrem, CEO of Neo4j, Creator of Neo4j and Cypher