Cypher query language
On this page
GDB implements a read/write subset of Cypher, plus documented extensions such as element indexes and shared uniqueness. Begin with the data model and quickstart.
Statements and examples
The engine parses one statement per call, with an optional trailing semicolon. Explorer splits a script and sends each statement as its own auto-commit operation; it stops on the first error and keeps earlier commits. Use transactions when several operations must commit atomically.
Cypher line comments begin with //. Parameters such as $email are supplied
by a driver or embedding API; they are values, not syntax substitutions.
Examples using labels assume the corresponding data exists, unless setup is
included. Constraint examples explicitly labelled as errors are intentional.
Keywords accepted as contextual identifiers depend on their parser position; backtick-quote ambiguous labels, keys or variables. Follow the examples rather than assuming every keyword is usable as an unquoted identifier.
Query workflow
Read with MATCH/WHERE, update with CREATE/MERGE/SET, then shape results using functions, aggregates and expressions. Use subqueries and parameters to compose queries, paths for traversal, and EXPLAIN to inspect index use. See compatibility for unsupported syntax.
Articles
- Aggregate functions
- Data model and values
- Operators and expressions
- Scalar functions
- Paths and shortest-path queries
- EXPLAIN and PROFILE
- Schema and maintenance procedures
- Matching and filtering graphs
- Results, aggregation and row pipelines
- Procedures, subqueries and parameters
- Creating and updating graphs
Related articles
Indexes and constraints · Procedure directory · Transactions and concurrency