Skip to main content

Cypher manual

Cypher is the most widely adopted, fully-specified, and open query language for property graph databases. It provides an intuitive way to work with property graphs.

Getting started

Take a look at the following guides if you are new to the Cypher query language:


The Cypher language enables users to perform standard database operations by using the following clauses:

  • MATCH, which searches for patterns;
  • WHERE, for filtering the matched data;
  • RETURN, for defining what will be presented to the user in the result set;
  • UNION and UNION ALL for combining results from multiple queries;
  • CREATE, for creating new nodes and edges;
  • SET, for adding new or updating existing labels and properties;
  • DELETE, for deleting nodes and edges;
  • REMOVE, for removing labels and properties;
  • MERGE, for creating patterns if they do not exist;
  • WITH, for combining multiple reads and writes.


Cypher supports a large number of functions. The list can be found here:

Other features

The following sections describe some of the other supported features in Memgraph:

Differences in Cypher implementations

Although we try to implement openCypher query language as closely to the language reference as possible, we had to make some changes to enhance the user experience. You can find the differences in this article.