This section comprises a glossary of all the keywords — grouped by category and thence ordered lexicographically — in the Cypher query language.
<colgroup style="box-sizing: border-box;"><col class="col_1" style="box-sizing: border-box;"><col class="col_2" style="box-sizing: border-box;"><col class="col_3" style="box-sizing: border-box;"></colgroup>
Clause | Category | Description |
---|---|---|
|
Reading/Writing
|
Invoke a procedure deployed in the database.
| |
|
Writing
|
Create nodes and relationships.
| |
CREATE CONSTRAINT ON (n:Label) ASSERT exists(n.property)
|
Schema
|
Create a constraint ensuring that all nodes with a particular label have a certain property.
| |
CREATE CONSTRAINT ON (n:Label) ASSERT (n.prop1, …, n.propN) IS NODE KEY
|
Schema
|
Create a constraint ensuring all nodes with a particular label have all the specified properties and that the combination of property values is unique; i.e. ensures existence and uniqueness.
| |
CREATE CONSTRAINT ON ()-[r:REL_TYPE]-() ASSERT exists(r.property)
|
Schema
|
Create a constraint ensuring that all relationship with a particular type have a certain property.
| |
CREATE CONSTRAINT ON (n:Label) ASSERT n.property IS UNIQUE
|
Schema
|
Create a constraint ensuring the uniqueness of the combination of node label and property value for a particular property key across all nodes.
| |
CREATE INDEX ON :Label(property)
|
Schema
|
Create an index on all nodes with a particular label and a single property; i.e. create a single-property index.
| |
CREATE INDEX ON :Label(prop1, …, propN)
|
Schema
|
Create an index on all nodes with a particular label and multiple properties; i.e. create a composite index.
| |
|
Writing
|
Delete graph elements — nodes, relationships or paths. Any node to be deleted must also have all associated relationships explicitly deleted.
| |
|
Writing
|
Delete a node or set of nodes. All associated relationships will automatically be deleted.
| |
DROP CONSTRAINT ON (n:Label) ASSERT exists(n.property)
|
Schema
|
Drop a constraint ensuring that all nodes with a particular label have a certain property.
| |
DROP CONSTRAINT ON ()-[r:REL_TYPE]-() ASSERT exists(r.property)
|
Schema
|
Drop a constraint ensuring that all relationship with a particular type have a certain property.
| |
DROP CONSTRAINT ON (n:Label) ASSERT n.property IS UNIQUE
|
Schema
|
Drop a constraint ensuring the uniqueness of the combination of node label and property value for a particular property key across all nodes.
| |
DROP CONSTRAINT ON (n:Label) ASSERT (n.prop1, …, n.propN) IS NODE KEY
|
Schema
|
Drop a constraint ensuring all nodes with a particular label have all the specified properties and that the combination of property values is unique.
| |
DROP INDEX ON :Label(property)
|
Schema
|
Drop an index from all nodes with a particular label and a single property; i.e. drop a single-property index.
| |
DROP INDEX ON :Label(prop1, …, propN)
|
Schema
|
Drop an index from all nodes with a particular label and multiple properties; i.e. drop a composite index.
| |
|
Writing
|
Update data within a list, whether components of a path, or the result of aggregation.
| |
|
Reading sub-clause
|
A sub-clause used to constrain the number of rows in the output.
| |
|
Importing data
|
Use when importing data from CSV files.
| |
|
Reading
|
Specify the patterns to search for in the database.
| |
|
Reading/Writing
|
Ensures that a pattern exists in the graph. Either the pattern already exists, or it needs to be created.
| |
|
Reading/Writing
|
Used in conjunction with MERGE
, specifying the actions to take if the pattern needs to be created.
| |
|
Reading/Writing
|
Used in conjunction with MERGE
, specifying the actions to take if the pattern already exists.
| |
|
Reading
|
Specify the patterns to search for in the database while using nulls
for missing parts of the pattern.
| |
ORDER BY [ASC[ENDING] | DESC[ENDING]]
|
Reading sub-clause
|
A sub-clause following RETURN
or WITH
, specifying that the output should be sorted in either ascending (the default) or descending order.
| |
|
Writing
|
Remove properties and labels from nodes and relationships.
| |
|
Projecting
|
Defines what to include in the query result set.
| |
|
Writing
|
Update labels on nodes and properties on nodes and relationships.
| |
|
Reading/Writing
|
A sub-clause defining from which row to start including the rows in the output.
| |
|
Set operations
|
Combines the result of multiple queries. Duplicates are removed.
| |
|
Set operations
|
Combines the result of multiple queries. Duplicates are retained.
| |
|
Projecting
|
Expands a list into a sequence of rows.
| |
USING INDEX variable:Label(property)
|
Hint
|
Index hints are used to specify which index, if any, the planner should use as a starting point.
| |
USING INDEX SEEK variable:Label(property)
|
Hint
|
Index seek hint instructs the planner to use an index seek for this clause.
| |
|
Hint
|
Join hints are used to enforce a join operation at specified points.
| |
|
Hint
|
This query hint may be used to prevent an out-of-memory error from occurring when importing large amounts of data using LOAD CSV
.
| |
|
Hint
|
Scan hints are used to force the planner to do a label scan (followed by a filtering operation) instead of using an index.
| |
|
Projecting
|
Allows query parts to be chained together, piping the results from one to be used as starting points or criteria in the next.
| |
|
Reading sub-clause
|
A sub-clause used to add constraints to the patterns in a MATCH
or OPTIONAL MATCH
clause, or to filter the results of a WITH
clause.
|
<colgroup style="box-sizing: border-box;"><col class="col_1" style="box-sizing: border-box;"><col class="col_2" style="box-sizing: border-box;"><col class="col_3" style="box-sizing: border-box;"></colgroup>
Operator | Category | Description |
---|---|---|
|
Mathematical
|
Modulo division
| |
|
Mathematical
|
Multiplication
| |
|
Mathematical
|
Addition
| |
|
String
|
Concatenation
| |
|
List
|
Concatenation
| |
|
Mathematical
|
Subtraction or unary minus
| |
|
General
|
Property access
| |
|
Mathematical
|
Division
| |
|
Comparison
|
Less than
| |
|
Comparison
|
Less than or equal to
| |
|
Comparison
|
Inequality
| |
|
Comparison
|
Equality
| |
|
String
|
Regular expression match
| |
|
Comparison
|
Greater than
| |
|
Comparison
|
Greater than or equal to
| |
|
Boolean
|
Conjunction
| |
|
String comparison
|
Case-sensitive inclusion search
| |
|
General
|
Duplicate removal
| |
|
String comparison
|
Case-sensitive suffix search
| |
|
List
|
List element existence check
| |
|
Comparison
|
Non-null
check
| |
|
Comparison
|
null
check
| |
|
Boolean
|
Negation
| |
|
Boolean
|
Disjunction
| |
|
String comparison
|
Case-sensitive prefix search
| |
|
Boolean
|
Exclusive disjunction
| |
|
General
|
Subscript (dynamic property access)
| |
|
List
|
Subscript (accessing element(s) in a list)
| |
|
Mathematical
|
Exponentiation
|
<colgroup style="box-sizing: border-box;"><col class="col_1" style="box-sizing: border-box;"><col class="col_2" style="box-sizing: border-box;"><col class="col_3" style="box-sizing: border-box;"></colgroup>
Function | Category | Description |
---|---|---|
|
Numeric
|
Returns the absolute value of a number.
| |
|
Trigonometric
|
Returns the arccosine of a number in radians.
| |
|
Predicate
|
Tests whether the predicate holds for all elements in a list.
| |
|
Predicate
|
Tests whether the predicate holds for at least one element in a list.
| |
|
Trigonometric
|
Returns the arcsine of a number in radians.
| |
|
Trigonometric
|
Returns the arctangent of a number in radians.
| |
|
Trigonometric
|
Returns the arctangent2 of a set of coordinates in radians.
| |
|
Aggregating
|
Returns the average of a set of values.
| |
|
Numeric
|
Returns the smallest floating point number that is greater than or equal to a number and equal to a mathematical integer.
| |
|
Scalar
|
Returns the first non-null
value in a list of expressions.
| |
|
Aggregating
|
Returns a list containing the values returned by an expression.
| |
|
Trigonometric
|
Returns the cosine of a number.
| |
|
Trigonometric
|
Returns the cotangent of a number.
| |
|
Aggregating
|
Returns the number of values or rows.
| |
|
Trigonometric
|
Converts radians to degrees.
| |
|
Spatial
|
Returns a floating point number representing the geodesic distance between any two points in the same CRS.
| |
|
Logarithmic
|
Returns the base of the natural logarithm, e
.
| |
|
Scalar
|
Returns the end node of a relationship.
| |
|
Predicate
|
Returns true if a match for the pattern exists in the graph, or if the specified property exists in the node, relationship or map.
| |
|
Logarithmic
|
Returns e^n
, where e
is the base of the natural logarithm, and n
is the value of the argument expression.
| |
|
List
|
Returns a list l<sub>result</sub>
containing the values resulting from an expression which has been applied to each element in a list list
.
| |
|
List
|
Returns a list l<sub>result</sub>
containing all the elements from a list list
that comply with a predicate.
| |
|
Numeric
|
Returns the largest floating point number that is less than or equal to a number and equal to a mathematical integer.
| |
|
Trigonometric
|
Returns half the versine of a number.
| |
|
Scalar
|
Returns the first element in a list.
| |
|
Scalar
|
Returns the id of a relationship or node.
| |
|
List
|
Returns a list containing the string representations for all the property names of a node, relationship, or map.
| |
|
List
|
Returns a list containing the string representations for all the labels of a node.
| |
|
Scalar
|
Returns the last element in a list.
| |
|
String
|
Returns a string containing the specified number of leftmost characters of the original string.
| |
|
Scalar
|
Returns the length of a path.
| |
|
Logarithmic
|
Returns the natural logarithm of a number.
| |
|
Logarithmic
|
Returns the common logarithm (base 10) of a number.
| |
|
String
|
Returns the original string with leading whitespace removed.
| |
|
Aggregating
|
Returns the maximum value in a set of values.
| |
|
Aggregating
|
Returns the minimum value in a set of values.
| |
|
List
|
Returns a list containing all the nodes in a path.
| |
|
Predicate
|
Returns true if the predicate holds for no element in a list.
| |
|
Aggregating
|
Returns the percentile of the given value over a group using linear interpolation.
| |
|
Aggregating
|
Returns the nearest value to the given percentile over a group using a rounding method.
| |
|
Trigonometric
|
Returns the mathematical constant pi.
| |
|
Spatial
|
Returns a point object, given two coordinate values in the cartesian coordinate system.
| |
|
Spatial
|
Returns a point object, given two coordinate values in the WGS 84 coordinate system.
| |
|
Scalar
|
Returns a map containing all the properties of a node or relationship.
| |
|
Trigonometric
|
Converts degrees to radians.
| |
|
Numeric
|
Returns a random floating point number in the range from 0 (inclusive) to 1 (exclusive); i.e. [0, 1)
.
| |
|
List
|
Returns a list comprising all integer values within a specified range.
| |
|
List
|
Runs an expression against individual elements of a list, storing the result of the expression in an accumulator.
| |
|
List
|
Returns a list containing all the relationships in a path.
| |
|
String
|
Returns a string in which all occurrences of a specified string in the original string have been replaced by another (specified) string.
| |
|
List
|
Returns a list in which the order of all elements in the original list have been reversed.
| |
|
String
|
Returns a string in which the order of all characters in the original string have been reversed.
| |
|
String
|
Returns a string containing the specified number of rightmost characters of the original string.
| |
|
Numeric
|
Returns the value of a number rounded to the nearest integer.
| |
|
String
|
Returns the original string with trailing whitespace removed.
| |
|
Numeric
|
Returns the signum of a number: 0
if the number is 0
, -1
for any negative number, and 1
for any positive number.
| |
|
Trigonometric
|
Returns the sine of a number.
| |
|
Predicate
|
Returns true if the predicate holds for exactly one of the elements in a list.
| |
|
Scalar
|
Returns the number of items in a list.
| |
size() applied to pattern expression
|
Scalar
|
Returns the number of sub-graphs matching the pattern expression.
| |
|
Scalar
|
Returns the size of a string.
| |
|
String
|
Returns a list of strings resulting from the splitting of the original string around matches of the given delimiter.
| |
|
Logarithmic
|
Returns the square root of a number.
| |
|
Scalar
|
Returns the start node of a relationship.
| |
|
Aggregating
|
Returns the standard deviation for the given value over a group for a sample of a population.
| |
|
Aggregating
|
Returns the standard deviation for the given value over a group for an entire population.
| |
|
String
|
Returns a substring of the original string, beginning with a 0-based index start and length.
| |
|
Aggregating
|
Returns the sum of a set of numeric values.
| |
|
List
|
Returns all but the first element in a list.
| |
|
Trigonometric
|
Returns the tangent of a number.
| |
|
Scalar
|
Returns the difference, measured in milliseconds, between the current time and midnight, January 1, 1970 UTC.
| |
|
Scalar
|
Converts a string value to a boolean value.
| |
|
Scalar
|
Converts an integer or string value to a floating point number.
| |
|
Scalar
|
Converts a floating point or string value to an integer value.
| |
|
String
|
Returns the original string in lowercase.
| |
|
String
|
Converts an integer, float or boolean value to a string.
| |
|
String
|
Returns the original string in uppercase.
| |
|
String
|
Returns the original string with leading and trailing whitespace removed.
| |
|
Scalar
|
Returns the string representation of the relationship type.
|
<colgroup style="box-sizing: border-box;"><col class="col_1" style="box-sizing: border-box;"><col class="col_2" style="box-sizing: border-box;"></colgroup>
Name | Description |
---|---|
|
A generic conditional expression, similar to if/else statements available in other languages.
|
<colgroup style="box-sizing: border-box;"><col class="col_1" style="box-sizing: border-box;"><col class="col_2" style="box-sizing: border-box;"><col class="col_3" style="box-sizing: border-box;"></colgroup>
Name | Type | Description |
---|---|---|
|
Version
|
This will force 'query'
to use Neo4j Cypher $version
. The default is 3.2
.
| |
|
Planner
|
This will force 'query'
to use the rule planner. As the rule planner has been removed in 3.2, doing this will cause 'query'
to fall back to using Cypher 3.1.
| |
|
Planner
|
Neo4j 3.2 uses the cost planner for all queries.
| |
CYPHER runtime=interpreted query
|
Runtime
|
This will cause the query execution engine to disregard the compiled runtime, and therefore use the interpreted runtime. This is the only option in Neo4j Community Edition.
| |
|
Runtime
|
This will cause the query execution engine to use the compiled runtime if it supports 'query'
, and fall back to using the interpreted runtime if it does not. This is only available in Neo4j Enterprise Edition.
|