Clauses
This section contains information on all the clauses in the Cypherยฎ query language.
Reading clauses
These comprise clauses that read data from the database.
The flow of data within a Cypher query is an unordered sequence of maps with key-value pairsโโโa set of possible bindings between the variables in the query and values derived from the database. This set is refined and augmented by subsequent parts of the query.
Clause | Description |
---|---|
Specify the patterns to search for in the database. |
|
Specify the patterns to search for in the database while using |
Projecting clauses
These comprise clauses that define which expressions to return in the result set.
The returned expressions may all be aliased using AS
.
Clause | Description |
---|---|
Defines what to include in the query result set. |
|
Allows query parts to be chained together, piping the results from one to be used as starting points or criteria in the next. |
|
Expands a list into a sequence of rows. |
|
Defines a query to have no result. |
Reading sub-clauses
These comprise sub-clauses that must operate as part of reading clauses.
Sub-clause | Description |
---|---|
Adds constraints to the patterns in a |
|
A sub-clause following |
|
Defines from which row to start including the rows in the output. As of Neo4j 5.24, it can be used as a standalone clause. |
|
Constrains the number of rows in the output. As of Neo4j 5.24, it can be used as a standalone clause. |
Writing clauses
These comprise clauses that write the data to the database.
Clause | Description |
---|---|
Create nodes and relationships. |
|
Delete nodes, relationships or paths. Any node to be deleted must also have all associated relationships explicitly deleted. |
|
Delete a node or set of nodes. All associated relationships will automatically be deleted. |
|
Update labels on nodes and properties on nodes and relationships. |
|
Remove properties and labels from nodes and relationships. |
|
Update data within a list, whether components of a path, or the result of aggregation. |
Reading/Writing clauses
These comprise clauses that both read data from and write data to the database.
Clause | Description |
---|---|
Ensures that a pattern exists in the graph. Either the pattern already exists, or it needs to be created. |
|
|
Used in conjunction with |
|
Used in conjunction with |
Invokes a procedure deployed in the database and return any results. |
Subquery clauses
Clause | Description |
---|---|
Evaluates a subquery, typically used for post-union processing or aggregations. |
|
Evaluates a subquery in separate transactions. Typically used when modifying or importing large amounts of data. |
Multiple graphs
Clause | Description |
---|---|
Determines which graph a query, or query part, is executed against. |
Importing data
Clause | Description |
---|---|
Use when importing data from CSV files. |
|
This clause may be used to prevent an out-of-memory error from occurring when importing large amounts of data using |
Listing functions and procedures
Clause | Description |
---|---|
List the available functions. |
|
List the available procedures. |
Transaction Commands
Clause | Description |
---|---|
List the available transactions. |
|
Terminate transactions by their IDs. |
Reading hints
These comprise clauses used to specify planner hints when tuning a query. More details regarding the usage of theseโโโand query tuning in generalโโโcan be found in Planner hints and the USING keyword.
Hint | Description |
---|---|
Index hints are used to specify which index, if any, the planner should use as a starting point. |
|
Index seek hint instructs the planner to use an index seek for this clause. |
|
Scan hints are used to force the planner to do a label scan (followed by a filtering operation) instead of using an index. |
|
Join hints are used to enforce a join operation at specified points. |
Index and constraint clauses
These comprise clauses to create, show, and drop indexes and constraints.
Clause | Description |
---|---|
Create, show or drop an index. |
|
Create, show or drop a constraint. |