What is Cypher?

To provide an easy way to visualize and navigate the relationship paths and information in graph datasets, you use property graphs. Developers can use the Neo4j Browser to visualize graphs, run ad hoc queries and view their results. But to execute powerful queries and to build complex graph applications, you need graph APIs or a graph query language such as Cypher.

Developed by Neo4j, Cypher is the leading query language of graph databases. You use it to easily and efficiently access and manipulate graph data, making simple things easy and complex tasks possible.

What Does a Cypher Query Look Like?

Cypher combines prose and symbols (iconography) to make queries more visual and self-explanatory. It’s the closest thing to drawing on a whiteboard with a keyboard. Property graphs are whiteboard friendly; Cypher makes them keyboard friendly and easy to learn for developers, architects and operations professionals.

When you write Cypher queries, you ask Neo4j to find data that matches specific patterns. Think of a Cypher query as a request to “find things like this” in your graph database.

Familiar Constructs from Other Languages

Cypher reuses concepts and syntax from familiar query languages. For example, Cypher borrows:

  • Keywords found in SQL, the relational database query language
  • Pattern-matching conventions from SPARQL, the query language for searching labeled graph data stored in RDF format
  • Data-collection semantics from Python, Haskell and other programming languages

If you have written SQL queries with a large number of joins, you know how quickly you lose track of what the query actually does. And if you are asked to maintain someone else’s complex SQL code, you know how frustrating that can be. In sharp contrast, Cypher code is easy to follow and focuses on graph elements and relationships rather than indexes and complex join syntax.

Just Tell Cypher What You Want

Cypher is a declarative language that enables you to specify which data you want rather than the mechanics of how to retrieve it. Neo4j takes care of the rest.

In contrast, early-generation graph languages required you to thoroughly understand how your data is stored. Cypher eliminates this burden and frees you to focus on your business problem rather than technical implementation details.

What is openCypher?

The openCypher Project is an open-source software project started by Neo4j to establish Cypher as the standard query language for graph database management.

Just as IBM and Oracle did decades ago by promoting and establishing SQL as an open query language for relational databases, Neo4j has contributed Cypher to the openCypher Project to:

  • Establish a standard graph query language
  • Improve the development and functionality of graph query languages
  • Improve growth and adoption of graph processing and analysis

The openCypher project transforms Cypher into a standard language that any database, tool or application vendor can use as a mechanism to query and manage graph data.

For more information on the openCypher project, visit www.opencypher.org.

What Are the Benefits of openCypher?

The openCypher Project provides a full spectrum of benefits to graph developers and information managers worldwide. As the open standard for querying graph databases, the new open-standard Cypher:

  • Provides enterprises with an open, safe, vendor-independent, graph query language for developing applications
  • Reduces the number of languages and syntaxes that developers must learn
  • Builds the availability and value of skilled developers trained in graph application development
  • Promotes the development and sharing of training and support programs for graph application development
  • Eases integration among graph data platforms
  • Reduces time-to-market for graph application platform, tool and application developers

Want to Learn More About Cypher?

With its new role as an industry standard, Cypher is becoming more usable and powerful all the time. For a deeper look at Cypher’s functionality and flexibility, visit any of these links:

Insert URLs of relevant Cypher postings and open them in new browser tabs or windows.