This section comprises a glossary of all the keywords — grouped by category and thence ordered lexicographically — in the Cypher query language.
Clause  Category  Description 

Reading/Writing 
Invoke a procedure deployed in the database. 

Writing 
Create nodes and relationships. 

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. 
Schema 
Create a constraint ensuring the uniqueness of the combination of node label and property value for a particular property key across all nodes. 

Schema 
Create an index on all nodes with a particular label and a single property; i.e. create a singleproperty index. 

Schema 
Create an index on all nodes with a particular label and multiple properties; i.e. create a composite index. 

Writing 
Delete 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. 

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. 
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. 
Schema 
Drop an index from all nodes with a particular label and a single property; i.e. drop a singleproperty index. 

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 subclause 
A subclause 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 

Reading/Writing 
Used in conjunction with 

Reading 
Specify the patterns to search for in the database while using 

Reading subclause 
A subclause following 

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 subclause 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. 

Hint 
Index hints are used to specify which index, if any, the planner should use as a starting point. 

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 outofmemory error from occurring when importing large amounts of data using 

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 subclause 
A subclause used to add constraints to the patterns in a 
Operator  Category  Description 

Mathematical 
Modulo division 

Mathematical 
Multiplication 

Temporal 
Multiplying a duration with a number 

Mathematical 
Addition 

String 
Concatenation 

Property 
Property mutation 

List 
Concatenation 

Temporal 
Adding two durations, or a duration and a temporal instant 

Mathematical 
Subtraction or unary minus 

Temporal 
Subtracting a duration from a temporal instant or from another duration 

Map 
Static value access by key 

Property 
Static property access 

Mathematical 
Division 

Temporal 
Dividing a duration by a number 

Comparison 
Less than 

Comparison 
Less than or equal to 

Comparison 
Inequality 

Comparison 
Equality 

Property 
Property replacement 

String 
Regular expression match 

Comparison 
Greater than 

Comparison 
Greater than or equal to 

Boolean 
Conjunction 

String comparison 
Casesensitive inclusion search 

Aggregation 
Duplicate removal 

String comparison 
Casesensitive suffix search 

List 
List element existence check 

Comparison 
Non 

Comparison 


Boolean 
Negation 

Boolean 
Disjunction 

String comparison 
Casesensitive prefix search 

Boolean 
Exclusive disjunction 

Map 
Subscript (dynamic value access by key) 

Property 
Subscript (dynamic property access) 

List 
Subscript (accessing element(s) in a list) 

Mathematical 
Exponentiation 
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 

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. 

Temporal 
Returns the current Date. 

Temporal 
Returns a calendar (YearMonthDay) Date. 

Temporal 
Returns a week (YearWeekDay) Date. 

Temporal 
Returns a quarter (YearQuarterDay) Date. 

Temporal 
Returns an ordinal (YearDay) Date. 

Temporal 
Returns a Date by parsing a string. 

Temporal 
Returns a Date from a map of another temporal value’s components. 

Temporal 
Returns the current Date using the 

Temporal 
Returns the current Date using the 

Temporal 
Returns the current Date using the 

Temporal 
Returns a Date obtained by truncating a value at a specific component boundary. Truncation summary. 

Temporal 
Returns the current DateTime. 

Temporal 
Returns a calendar (YearMonthDay) DateTime. 

Temporal 
Returns a week (YearWeekDay) DateTime. 

Temporal 
Returns a quarter (YearQuarterDay) DateTime. 

Temporal 
Returns an ordinal (YearDay) DateTime. 

Temporal 
Returns a DateTime by parsing a string. 

Temporal 
Returns a DateTime from a map of another temporal value’s components. 

Temporal 
Returns a DateTime from a timestamp. 

Temporal 
Returns the current DateTime using the 

Temporal 
Returns the current DateTime using the 

Temporal 
Returns the current DateTime using the 

Temporal 
Returns a DateTime obtained by truncating a value at a specific component boundary. Truncation summary. 

Trigonometric 
Converts radians to degrees. 

Spatial 
Returns a floating point number representing the geodesic distance between any two points in the same CRS. 

Temporal 
Returns a Duration from a map of its components. 

Temporal 
Returns a Duration by parsing a string. 

Temporal 
Returns a Duration equal to the difference between two given instants. 

Temporal 
Returns a Duration equal to the difference in whole days or weeks between two given instants. 

Temporal 
Returns a Duration equal to the difference in whole months, quarters or years between two given instants. 

Temporal 
Returns a Duration equal to the difference in seconds and fractions of seconds, or minutes or hours, between two given instants. 

Logarithmic 
Returns the base of the natural logarithm, 

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 

List 
Returns a list 

List 
Returns a list 

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. 

Temporal 
Returns the current LocalDateTime. 

Temporal 
Returns a calendar (YearMonthDay) LocalDateTime. 

Temporal 
Returns a week (YearWeekDay) LocalDateTime. 

Temporal 
Returns a quarter (YearQuarterDay) DateTime. 

Temporal 
Returns an ordinal (YearDay) LocalDateTime. 

Temporal 
Returns a LocalDateTime by parsing a string. 

Temporal 
Returns a LocalDateTime from a map of another temporal value’s components. 

Temporal 
Returns the current LocalDateTime using the 

Temporal 
Returns the current LocalDateTime using the 

Temporal 
Returns the current LocalDateTime using the 

Temporal 
Returns a LocalDateTime obtained by truncating a value at a specific component boundary. Truncation summary. 

Temporal 
Returns the current LocalTime. 

Temporal 
Returns a LocalTime with the specified component values. 

Temporal 
Returns a LocalTime by parsing a string. 

Temporal 
Returns a LocalTime from a map of another temporal value’s components. 

Temporal 
Returns the current LocalTime using the 

Temporal 
Returns the current LocalTime using the 

Temporal 
Returns the current LocalTime using the 

Temporal 
Returns a LocalTime obtained by truncating a value at a specific component boundary. Truncation summary. 

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 2D point object, given two coordinate values in the Cartesian coordinate system. 

Spatial 
Returns a 3D point object, given three coordinate values in the Cartesian coordinate system. 

Spatial 
Returns a 2D point object, given two coordinate values in the WGS 84 coordinate system. 

Spatial 
Returns a 3D point object, given three 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. 

Scalar 
Returns a string value corresponding to a randomlygenerated UUID. 

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: 

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. 

Scalar 
Returns the number of subgraphs matching the pattern expression. 

Scalar 
Returns the number of Unicode characters in 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 0based 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. 

Temporal 
Returns the current Time. 

Temporal 
Returns a Time with the specified component values. 

Temporal 
Returns a Time by parsing a string. 

Temporal 
Returns a Time from a map of another temporal value’s components. 

Temporal 
Returns the current Time using the 

Temporal 
Returns the current Time using the 

Temporal 
Returns the current Time using the 

Temporal 
Returns a Time obtained by truncating a value at a specific component boundary. Truncation summary. 

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, boolean or temporal (i.e. Date, Time, LocalTime, DateTime, LocalDateTime or Duration) 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. 
Name  Description 

A generic conditional expression, similar to if/else statements available in other languages. 
Name  Type  Description 

Version 
This will force 

Planner 
This will force 

Planner 
Neo4j 3.5 uses the cost planner for all queries. 

Runtime 
This will force the query planner to use the interpreted runtime. This is the only option in Neo4j Community Edition. 

Runtime 
This will cause the query planner to use the slotted runtime. This is only available in Neo4j Enterprise Edition. 

Runtime 
This will cause the query planner to use the compiled runtime if it supports 