Deprecations, additions, and compatibility
Cypher® is a language that is constantly evolving. New features are added to the language continuously, and occasionally, some features become deprecated and are subsequently removed.
This section lists all of the features that have been removed, deprecated, added, or extended in different Cypher versions. Replacement syntax for deprecated and removed features are also indicated.
Neo4j 5.26
Deprecated features
Feature | Details |
---|---|
Functionality Deprecated
|
Specifying an index provider in the This also means that the vector index index provider, |
Functionality Deprecated
MATCH (...)-[where {...}]->() |
The unescaped variable named
|
Functionality Deprecated
... + n:A&B ... + n:A&B|C |
Using an unparenthesized label expression predicate as the right-hand side operand of |
Functionality Deprecated
|
Using an unescaped variable named |
Functionality Deprecated
CASE x ... WHEN contains - 1 THEN ... END |
Using an unescaped variable named
|
Functionality Deprecated
CASE x ... WHEN in["abc"] THEN ... END |
Using the
|
Functionality Deprecated
|
The column |
Functionality Deprecated
|
The |
Functionality Deprecated
|
The |
Updated features
Feature | Details |
---|---|
Functionality Updated
|
The |
Functionality Updated
|
Property-based access control now supports spatial and temporal values. |
Neo4j 5.25
Deprecated features
Feature | Details |
---|---|
Functionality Deprecated
|
The |
Updated features
Feature | Details |
---|---|
Functionality Updated
|
Neo4j’s block format now implements GQL’s limit on the maximum length of identifiers. The maximum limit is set to 16,383 characters in an identifier. This means that node labels, relationship types, and property keys cannot include more than 16,383 characters. |
New features
Feature | Details |
---|---|
Functionality New
|
The option |
Neo4j 5.24
New features
Feature | Details |
---|---|
Functionality New
|
Introduced |
Functionality New
|
Introduced See |
Functionality New
|
Introduced GQL conformant standalone |
Functionality New
|
Added the ability to dynamically reference labels in SET and REMOVE clauses. |
Functionality New
|
Added the ability to dynamically reference properties in SET and REMOVE clauses. |
Functionality New
|
Added the ability to drop database aliases while deleting a database. This will affect local database aliases targeting the database and constituent database aliases belonging to the composite database. For more information, see Delete a database with local database aliases targeting it and Delete a composite database with constituent database aliases. |
Functionality New
|
Extension of the LOAD CSV clause to allow loading CSV files from Azure Cloud Storage URIs. |
Functionality New
|
Added the ability set which auth providers apply to a user (Enterprise Edition). Administration of the native (username / password) auth via the new syntax is also now supported (Community Edition). |
Functionality New
|
Added the ability add and remove user auth providers via the Setting the native (username / password) auth provider via this new syntax is also supported (Community Edition), but removing any auth provider or setting a non-native auth provider is only supported in Enterprise Edition. |
Functionality New
|
New support for |
Functionality
New
|
New privilege that allows a user to modify user auth providers.
This is a sub-privilege of the |
Neo4j 5.23
Deprecated features
Feature | Details |
---|---|
Functionality Deprecated
|
Using the |
Updated features
Feature | Details |
---|---|
Functionality Updated
|
Introduced new GQL conformant aliases to duration types: See types and their synonyms for more. |
New features
Feature | Details |
---|---|
Functionality New
|
Introduced a new variable scope clause to import variables in |
Functionality New
|
Introduced the following configuration settings for vector indexes:
Additionally, as of Neo4j 5.23, it is no longer mandatory to configure the settings |
Neo4j 5.21
Updated features
Feature | Details |
---|---|
Functionality Updated
|
Introduced a The column is a |
New features
Feature | Details |
---|---|
Functionality New
|
Introduction of property-based access control for read privileges. The ability to read, traverse and match nodes based on node property values is now supported in Enterprise Edition. |
Functionality New
|
Extension of the LOAD CSV clause to allow loading CSV files from Google Cloud Storage URIs. |
Functionality New
|
Introduction of |
Functionality New
|
Introduction of a lower() and upper() function. These are aliases of the toLower() and toUpper() functions. |
Functionality New
|
Introduced CALL { … } IN CONCURRENT TRANSACTIONS, which uses multiple CPU processors simultaneously to execute batched inner transactions concurrently. |
Functionality New
|
Introduced new graph pattern matching keywords to find variations of the shortest paths between nodes. |
Introduced new operators to solve |
Neo4j 5.20
Deprecated features
Feature | Details |
---|---|
Functionality Deprecated
|
Merging a node or relationship entity, and then referencing that entity in a property definition in the same |
New features
Feature | Details |
---|---|
Syntax Functionality New
|
Introduced btrim() function, which returns the given |
Neo4j 5.19
New features
Feature | Details |
---|---|
Functionality New
|
Added a new |
Functionality New
|
New FINISH clause, which can be optionally used to define a query that returns no result. |
Functionality New
|
The keyword |
Functionality New
|
Extension of the LOAD CSV clause to allow loading CSV files from AWS S3 URIs. |
Functionality New
|
Added support for additional Vertex AI vector encoding models.
Also added support for Vertex AI |
Neo4j 5.18
New features
Feature | Details |
---|---|
Functionality New
|
Added a new keyword INSERT, which can be used as a synonym to |
Functionality New
|
Extension of the simple |
Functionality New
|
Added command to create relationship vector indexes.
The index configuration settings |
Functionality New
|
Introduction of vector similarity functions.
These functions return a |
Neo4j 5.17
Updated features
Feature | Details |
---|---|
Functionality Updated
|
When attempting to create an index using |
Functionality Updated
|
When attempting to create a constraint using |
Functionality Updated
|
When attempting to drop a non-existing index using |
Functionality Updated
|
When attempting to drop a non-existing constraint using |
New features
Feature | Details |
---|---|
Functionality New
|
Introduction of a normalize() function.
This function normalizes a |
Functionality New
|
Introduction of an IS NORMALIZED operator.
The operator can be used to check if a |
Functionality New New operators: |
Introduction of partitioned operators used by the parallel runtime. These operators segment the data and operate on each segment in parallel |
Neo4j 5.16
Updated features
Feature | Details |
---|---|
Functionality Updated
|
Added the ability to use parameters for the index name in the |
Functionality Updated
|
Added the ability to use parameters for the constraint name in the |
New features
Feature | Details |
---|---|
Functionality New
|
Added the ability to grant or deny |
Neo4j 5.15
Deprecated features
Feature | Details |
---|---|
Functionality Deprecated
|
The Unicode character `\u0085` is deprecated for unescaped identifiers and will be considered as a whitespace character in the future. To continue using it, escape the identifier by adding backticks around the identifier. This applies to all unescaped identifiers in Cypher, such as label expressions, properties, variable names or parameters. In the given example, the quoted identifier would be `my�identifier`. |
Functionality Deprecated
|
The character with the Unicode representation `\u0024` is deprecated for unescaped identifiers and will not be supported in the future. To continue using it, escape the identifier by adding backticks around the identifier. This applies to all unescaped identifiers in Cypher, such as label expressions, properties, variable names or parameters. In the given example, the quoted identifier would be `my$identifier`. The following Unicode Characters are deprecated in identifiers: '\u0000', '\u0001', '\u0002', '\u0003', '\u0004', '\u0005', '\u0006', '\u0007', '\u0008', '\u000E', '\u000F', '\u0010', '\u0011', '\u0012', '\u0013', '\u0014', '\u0015', '\u0016', '\u0017', '\u0018', '\u0019', '\u001A', '\u001B', '\u007F', '\u0080', '\u0081', '\u0082', '\u0083', '\u0084', '\u0086', '\u0087', '\u0088', '\u0089', '\u008A', '\u008B', '\u008C', '\u008D', '\u008E', '\u008F', '\u0090', '\u0091', '\u0092', '\u0093', '\u0094', '\u0095', '\u0096', '\u0097', '\u0098', '\u0099', '\u009A', '\u009B', '\u009C', '\u009D', '\u009E', '\u009F', '\u0024', '\u00A2', '\u00A3', '\u00A4', '\u00A5', '\u00AD', '\u0600', '\u0601', '\u0602', '\u0603', '\u0604', '\u0605', '\u061C', '\u06DD', '\u070F', '\u08E2', '\u180E', '\u200B', '\u200C', '\u200D', '\u200E', '\u200F', '\u202A', '\u202B', '\u202C', '\u202D', '\u202E', '\u2060', '\u2061', '\u2062', '\u2063', '\u2064', '\u2066', '\u2067', '\u2068', '\u2069', '\u206A', '\u206B', '\u206C', '\u206D', '\u206E', '\u206F', '\u2E2F', '\uFEFF', '\uFFF9', '\uFFFA', '\uFFFB' |
Updated features
Feature | Details |
---|---|
Functionality Updated
|
Extended |
Functionality Updated
|
|
New features
Feature | Details |
---|---|
Functionality New
|
Added a new keyword ALL, explicitly defining that the aggregate function is not |
Functionality New
|
Added command to create node vector indexes, replacing the |
Neo4j 5.14
Updated features
Feature | Details |
---|---|
Functionality Updated
|
Extended type syntax to allow an exclamation mark |
New features
Feature | Details |
---|---|
Functionality New
|
Introduction of a nullIf() function. This function returns null if the two given parameters are equivalent, otherwise returns the value of the first parameter. |
Functionality New
|
Added a new keyword NODETACH, explicitly defining that relationships will not be detached and deleted.
This is a mirror of the already existing keyword |
Neo4j 5.13
Updated features
Feature | Details |
---|---|
Functionality Updated
|
Updated the Procedure signatures now follow the pattern:
The signature for procedures with no return columns now follows the pattern:
Function signatures now follow the pattern:
For all available Cypher types, see the section on types and their synonyms. |
New features
Feature | Details |
---|---|
Functionality New Beta
|
Introduction of the Change Data Capture (CDC) feature. For details, see Change Data Capture. |
Functionality New
|
Introduction of a valueType() function.
This function returns a |
Functionality New
|
Introduction of a char_length() function.
This function returns the number of Unicode characters in a |
Functionality New
|
Introduction of a character_length() function.
This function returns the number of Unicode characters in a |
Functionality New New privilege:
|
New privilege that controls a user’s ability to load data.
Unlike other privileges, these are not granted, denied, or revoked on graphs, databases, or the DBMS, but instead on |
Functionality New
|
New graph function, graph.byElementId(), that resolves the constituent graph to which a given element id belongs. |
Functionality New CYPHER runtime = parallel |
Introduction of the parallel runtime. This runtime is designed for analytical, graph-global read queries run on machines with several available CPUs. |
Neo4j 5.12
New features
Feature | Details |
---|---|
Functionality New
|
New database function to return database names from element ids. |
Neo4j 5.11
Updated features
Feature | Details |
---|---|
Functionality Updated
|
Introduced a new column The column returns the name of the composite database that the alias belongs to, or |
Functionality Updated
|
Extended type predicate expressions.
Closed dynamic union types (
|
Functionality Updated
|
Extended node and relationship property type constraints.
Closed dynamic union types (
|
Functionality Updated
|
This command now auto-commits even when executed inside an explicit transaction. |
Neo4j 5.10
Updated features
Feature | Details |
---|---|
Functionality Updated
|
Extended type predicate expressions. The newly supported types are:
|
Functionality Updated
|
Extended node and relationship property type constraints. The new supported types are:
|
Neo4j 5.9
Deprecated features
Feature | Details |
---|---|
Functionality Deprecated
|
Creating a node or relationship entity,
and then referencing that entity in a property definition in the same |
Updated features
Feature | Details |
---|---|
Functionality Updated
|
Introduced an The column is true if the setting/function/procedure is deprecated and false otherwise. |
Functionality Updated
|
Introduced an The field is true if the argument/return value is deprecated and false otherwise. |
Functionality Updated
|
Introduced |
New features
Feature | Details |
---|---|
Functionality New
|
Introduction of quantified path patterns - a new method in graph pattern matching for matching paths of a variable length. More information can be found here. |
Functionality New New operator: |
The |
Functionality New
|
Added type predicate expressions. The available types are:
|
Functionality New
|
Added node and relationship property type constraints. The available property types are:
|
Functionality New
|
Added filtering for the new property constraints to |
Functionality New
|
List supported privileges on the current server. |
Neo4j 5.8
Updated features
Feature | Details |
---|---|
Functionality Updated
|
Introduced The |
New features
Feature | Details |
---|---|
Functionality New New operator: |
The |
Neo4j 5.7
Deprecated features
Feature | Details |
---|---|
Functionality Deprecated
|
The Cypher query option |
Updated features
Feature | Details |
---|---|
Functionality Updated
|
New sub-clause |
Functionality New
|
Added relationship key and property uniqueness constraints. |
Functionality New
|
Added filtering for the new constraint types to The existing |
New features
Feature | Details |
---|---|
Functionality New
|
New fine-grained control mechanism to control how an inner transaction impacts subsequent inner and/or outer transactions.
|
Neo4j 5.6
New features
Feature | Details |
---|---|
Functionality New
|
New functionality to change tags at runtime via |
Functionality New
|
New expression which returns the results of a subquery collected in a list. |
Functionality New
|
List configuration settings on the current server. The |
Functionality
New
|
New privilege that controls a user’s access to desired configuration settings. |
Neo4j 5.5
Deprecated features
Feature | Details |
---|---|
Functionality Deprecated
|
Using differently ordered return items in a
|
New features
Feature | Details |
---|---|
Functionality New New operator: |
The |
Neo4j 5.3
Updated features
Feature | Details |
---|---|
Functionality Updated
|
Changes to the visibility of databases hosted on offline servers. For such databases:
|
Functionality Updated
|
An |
Functionality Updated
|
A |
Functionality Updated
|
The property uniqueness constraint type filter now allow both |
New features
Feature | Details |
---|---|
Functionality New New operator: |
The |
Neo4j 5.2
Updated features
Feature | Details |
---|---|
Functionality Updated
|
Creating composite databases now allows for an empty options clause. There are no applicable option values for composite databases. |
Functionality New
|
To preview of the result of either |
Neo4j 5.1
Neo4j 5.0
Removed features
Feature | Details |
---|---|
Functionality Removed
|
Replaced by:
|
Functionality Removed
|
Replaced by:
|
Functionality Removed
|
Replaced by:
|
Functionality Removed
|
Replaced by:
|
Functionality Removed
|
Replaced by:
|
Functionality Removed
|
Replaced by:
|
Functionality Removed
|
Replaced by:
|
Functionality Removed
Functionality Removed
|
B-tree indexes are removed. B-tree indexes used for
B-tree indexes used for spatial queries are replaced by:
B-tree indexes used for general queries or property value types are replaced by:
These new indexes may be combined for multiple use cases. |
Functionality Removed
|
B-tree indexes are removed. Replaced by:
|
Functionality Removed
|
B-tree indexes are removed. Replaced by:
|
Functionality Removed
|
Node key and property uniqueness constraints backed by B-tree indexes are removed. Replaced by:
Constraints used for |
Functionality Removed
|
The The new column |
Functionality Removed
|
The |
Functionality
Removed
|
Replaced by:
|
Functionality
Removed
|
Replaced by:
|
Functionality Removed
|
The |
Functionality Removed
|
Replaced by:
|
Functionality Removed
|
Replaced by:
|
Functionality Removed
|
Replaced by |
Functionality Removed
|
Only |
Functionality Removed
|
Remaining support for repeated relationship variables is removed. |
Functionality Removed
|
Automatic coercion of a list to a boolean is removed. Replaced by:
|
Functionality Removed
|
Replaced by:
|
Functionality Removed
|
The ability to use operators
|
Functionality Removed
|
Replaced by:
|
Functionality Removed
|
It is no longer allowed to have |
Functionality Removed
|
Unaliased expressions are no longer supported in subquery
|
Functionality Removed
|
Pattern expressions producing lists of paths are no longer supported, but they can still be used as existence predicates, for example in
|
Functionality Removed
|
Implied grouping keys are no longer supported. Only expressions that do not contain aggregations are still considered grouping keys. In expressions that contain aggregations, the leaves must be either:
|
Deprecated features
Feature | Details |
---|---|
Functionality Deprecated
|
Use the
|
Functionality Deprecated
|
|
Functionality Deprecated
|
Creating a database with unescaped dots in the name has been deprecated, instead escape the database name:
|
Functionality Deprecated
|
Replaced by:
|
Updated features
Feature | Details | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Functionality Updated
|
The default index type is changed from B-tree to range index. |
|||||||||||||||
Functionality Updated
|
The new column |
|||||||||||||||
Functionality Updated
|
The new column |
|||||||||||||||
Functionality Updated
|
New columns for the current query are added:
These columns are only returned in the full set (with |
|||||||||||||||
Functionality Updated
|
Terminate transaction now allows |
|||||||||||||||
Functionality Updated
|
|
|||||||||||||||
Functionality Updated
|
The When the command is not in standalone mode, the
|
|||||||||||||||
Functionality Updated
|
Not a syntax change but a semantic one.
The |
|||||||||||||||
Functionality Updated
|
Privileges can be specified as |
|||||||||||||||
Functionality Updated
|
|
|||||||||||||||
Functionality Updated
|
Changes to the default columns in the result:
The following columns have been added to the full result set (with
|
|||||||||||||||
Functionality Updated
|
Previously, if This is a semantic change only.
Since If matching on
|
|||||||||||||||
Functionality Updated
|
Rounding infinity and NaN values will now return the original value instead of returning an integer approximation for precision 0 and throwing an exception for precision > 0:
To get an integer value use the |
|||||||||||||||
Functionality Updated
|
The alias commands can now handle aliases in composite databases. |
|||||||||||||||
Functionality Updated
|
|
|||||||||||||||
Functionality Updated
|
The alias commands can now handle aliases in composite databases. |
|||||||||||||||
Functionality Updated
|
|
New features
Feature | Details |
---|---|
Functionality New
|
New Cypher command for creating and dropping composite databases. |
Functionality
New
|
New privileges that allow a user to |
Functionality New
|
Cypher now supports number literals with underscores between digits. |
Functionality New
|
New function which returns whether the given number is |
Functionality New
|
Cypher now supports float literals for the values |
Functionality New
|
New expression which returns the number of results of a subquery. |
Functionality New
|
New sub-clause for |
Functionality New
|
New sub-clause for |
Functionality New
|
New Cypher command for enabling servers. |
Functionality New
|
New Cypher command for setting options for a server. |
Functionality New
|
New Cypher command for changing the name of a server. |
Functionality New
|
New Cypher command for re-balancing what servers host which databases. |
Functionality New
|
New Cypher command for moving all databases from servers. |
Functionality New
|
New Cypher command for dropping servers. |
Functionality New
|
New Cypher command for listing servers. |
Functionality
New
|
New privileges that allow a user to create, modify, reallocate, deallocate, drop and list servers. |
Functionality New
|
New concise syntax for expressing predicates for which labels a node may have, referred to as label expression. |
Functionality New
|
New concise syntax for expressing predicates for which relationship types a relationship may have, referred to as relationship type expression. |
Functionality New
|
New syntax that enables inlining of |
Neo4j 4.4
Deprecated features
Feature | Details |
---|---|
Functionality Deprecated
|
Implied grouping keys are deprecated. Only expressions that do not contain aggregations are still considered grouping keys. In expressions that contain aggregations, the leaves must be either:
|
Syntax Deprecated
|
Replaced by:
|
Syntax Deprecated
|
|
Syntax Deprecated
|
Replaced by:
|
Functionality Deprecated
|
B-tree indexes are deprecated. B-tree indexes used for string queries are replaced by:
B-tree indexes used for spatial queries are replaced by:
B-tree indexes used for general queries or property value types are replaced by:
These new indexes may be combined for multiple use cases. |
Functionality Deprecated
|
|
Functionality Deprecated
|
B-tree indexes are deprecated. Replaced by:
|
Functionality Deprecated
|
B-tree indexes are deprecated. Replaced by:
|
Functionality Deprecated
|
Node key and property uniqueness constraints with B-tree options are deprecated. Replaced by:
Constraints used for string properties will also require an additional text index to cover the string queries properly. Constraints used for point properties will also require an additional point index to cover the spatial queries properly. |
Functionality Deprecated
|
Replaced by:
|
Functionality Deprecated
|
The ability to use the inequality operators
|
Functionality Deprecated
|
Currently, if Please use
|
New features
Feature | Details |
---|---|
Functionality New
|
New clause for evaluating a subquery in separate transactions. Typically used when modifying or importing large amounts of data. See CALL { ... } IN TRANSACTIONS. |
Syntax New
|
New syntax for creating constraints, applicable to all constraint types. |
Functionality New
|
Property uniqueness constraints now allow multiple properties, ensuring that the combination of property values are unique. |
Functionality New Deprecated
|
Property uniqueness constraints now allow multiple properties. Replaced by:
|
Syntax New
|
Existence constraints now allow an |
Functionality New
|
Token lookup indexes now allow an |
Functionality New
|
Allows creating text indexes on nodes or relationships with a particular label or relationship type, and property combination. They can be dropped by using their name. |
Functionality New
|
Allows creating range indexes on nodes or relationships with a particular label or relationship type, and properties combination. They can be dropped by using their name. |
Functionality New
|
Allows creating node key and property uniqueness constraints backed by range indexes by providing the range index provider in the |
Functionality New
|
Allows creating point indexes on nodes or relationships with a particular label or relationship type, and property combination. They can be dropped by using their name. |
Syntax
New
|
New privilege that allows a user to assume privileges of another one. |
Functionality New
|
List transactions on the current server. The This replaces the procedures |
Functionality New
|
Terminate transactions on the current server. The This replaces the procedures |
Functionality New
|
New Cypher command for modifying a database by changing its access mode. |
Functionality
New
|
New privilege that allows a user to modify databases. |
Functionality
New
|
New privilege that allows a user to modify database access mode. |
Functionality New
|
New Cypher command for creating an alias for a database name. Remote aliases are only supported from Neo4j 4.4.8. |
Functionality New
|
New Cypher command for creating or replacing an alias for a database name. Remote aliases are only supported from Neo4j 4.4.8. |
Functionality New
|
New Cypher command for altering an alias. Remote aliases are only supported from Neo4j 4.4.8. |
Functionality New
|
New Cypher command for dropping a database alias. |
Functionality New
|
New Cypher command for listing database aliases. Only supported since Neo4j 4.4.8. |
Functionality
New
|
New privilege that allows a user to create, modify, delete and list aliases. Only supported since Neo4j 4.4.8. |
Functionality
New
|
New privilege that allows a user to create aliases. Only supported since Neo4j 4.4.8. |
Functionality
New
|
New privilege that allows a user to modify aliases. Only supported since Neo4j 4.4.8. |
Functionality
New
|
New privilege that allows a user to delete aliases. Only supported since Neo4j 4.4.8. |
Functionality
New
|
New privilege that allows a user to show aliases. Only supported since Neo4j 4.4.8. |
Syntax New
|
New syntax that enables inlining of |
Neo4j 4.3
Deprecated features
Feature | Details |
---|---|
Syntax Deprecated
|
Replaced by:
|
Syntax Deprecated
|
Replaced by:
|
Syntax Deprecated
|
Replaced by:
|
Syntax Deprecated
|
Replaced by:
|
Syntax
Deprecated |
Replaced by default output columns. |
Syntax
Deprecated |
Replaced by:
|
Syntax Deprecated
|
Replaced by:
Still allows |
Syntax Deprecated
|
Replaced by:
Still allows |
Syntax Deprecated
|
Replaced by:
Still allows |
Syntax
Deprecated
|
Replaced by:
|
Syntax
Deprecated
|
Replaced by:
|
Syntax Deprecated
|
Pattern expressions producing lists of paths are deprecated, but they can still be used as existence predicates, for example in
|
Updated features
Feature | Details |
---|---|
Functionality Updated
|
Now allows filtering for:
|
Functionality Updated
|
Now allows filtering for:
|
Functionality Updated
|
Now allows |
Functionality Updated
|
Now allows |
Syntax Updated
|
New syntax for filtering |
Syntax Updated
|
New syntax for filtering |
Syntax Updated
|
New syntax for filtering |
Functionality Updated
|
Now allows easy filtering for |
Functionality Updated
|
Now allows easy filtering for |
New features
Feature | Details |
---|---|
Syntax New
|
New syntax to pass options to |
Syntax New
|
New syntax for creating node property existence constraints. |
Syntax New
|
New syntax for creating relationship property existence constraints. |
Syntax New
|
Makes altering users idempotent. If the specified name does not exists, no error is thrown. |
Syntax New
|
Now allows setting home database for user. |
Syntax New
|
Now allows removing home database for user. |
Syntax New
|
|
Syntax New
|
New syntax for showing the home database of the current user. |
Syntax
New
|
New Cypher command for administering privilege for changing users home database. |
Syntax
New
|
New syntax for privileges affecting home database. |
Syntax
New
|
New syntax for privileges affecting home graph. |
Syntax New
|
Allows creating fulltext indexes on nodes or relationships. They can be dropped by using their name. |
Functionality New
|
Allows creating indexes on relationships with a particular relationship type and property combination. They can be dropped by using their name. |
Functionality New
|
Create token lookup index for nodes with any labels or relationships with any relationship type. They can be dropped by using their name. |
Functionality New
|
New Cypher command for changing the name of a role. |
Functionality New
|
New Cypher command for changing the name of a user. |
Functionality New
|
New Cypher commands for listing procedures. |
Functionality New
|
New Cypher commands for listing functions. |
Neo4j 4.2
Deprecated features
Feature | Details |
---|---|
Syntax Deprecated
|
Replaced by |
Syntax Deprecated
|
Only |
Syntax Deprecated
|
Unaliased expressions are deprecated in subquery
|
Updated features
Feature | Details |
---|---|
Functionality Updated
|
Can now handle multiple roles.
|
Functionality Updated
|
Can now handle multiple users.
|
Functionality Updated
|
The |
Functionality Updated
|
The |
New features
Feature | Details |
---|---|
Functionality New
|
Privileges can now be shown as Cypher commands. |
Syntax New
|
New optional part of the Cypher commands for database privileges. |
Syntax New
|
Cypher now interprets literals with prefix |
Syntax New
|
For |
Functionality
New
|
New Cypher commands for administering privileges for executing procedures and user defined functions.
See The DBMS |
Syntax New
|
Allows setting index provider and index configuration when creating an index. |
Syntax New
|
Allows setting index provider and index configuration for the backing index when creating a node key constraint. |
Syntax New
|
Allows setting index provider and index configuration for the backing index when creating a property uniqueness constraint. |
Syntax New
|
New Cypher command for showing current logged-in user and roles. |
Functionality New
|
New Cypher commands for listing indexes. Replaces the procedures |
Functionality New
|
New Cypher commands for listing constraints. Replaces the procedures |
Functionality
New
|
New Cypher command for administering privilege for listing indexes. |
Functionality
New
|
New Cypher command for administering privilege for listing constraints. |
Neo4j 4.1.3
New features
Feature | Details |
---|---|
Syntax New
|
Makes index creation idempotent. If an index with the name or schema already exists no error will be thrown. |
Syntax New
|
Makes index deletion idempotent. If no index with the name exists no error will be thrown. |
Syntax New
|
Makes constraint creation idempotent. If a constraint with the name or type and schema already exists no error will be thrown. |
Syntax New
|
Makes constraint deletion idempotent. If no constraint with the name exists no error will be thrown. |
Neo4j 4.1
Restricted features
Feature | Details |
---|---|
Functionality Restricted
|
No longer revokes sub-privileges when revoking a compound privilege, e.g. when revoking |
Functionality Restricted
|
No longer includes the privileges |
Updated features
Feature | Details |
---|---|
Procedure Updated
|
The |
Functionality Updated
|
The returned privileges are a closer match to the original grants and denies, e.g. if granted |
New features
Feature | Details |
---|---|
Functionality
New
|
The |
Syntax
New
|
The |
Functionality New
|
New support for |
Functionality New
|
New support for |
Functionality New
|
New support for |
Functionality
New |
New Cypher commands for administering transaction management. |
Functionality
New |
New Cypher commands for administering user management. |
Functionality
New |
New Cypher commands for administering database management. |
Functionality
New |
New Cypher commands for administering privilege management. |
Functionality New
|
New Cypher command for administering role, user, database and privilege management. |
Functionality New
|
New Cypher command for administering read and write privileges. |
Functionality
New |
New Cypher commands for administering write privileges. |
Functionality New
|
New optional part of the Cypher commands for database privileges. |
Neo4j 4.0
Removed features
Feature | Details |
---|---|
Function Removed
|
Replaced by relationships(). |
Function Removed
|
Replaced by toInteger(). |
Function Removed
|
Replaced by toLower(). |
Function Removed
|
Replaced by toUpper(). |
Function Removed
|
Replaced by list comprehension. |
Function Removed
|
Replaced by list comprehension. |
Functionality
Removed
|
The |
Functionality
Removed |
The removal of the |
Functionality
Removed
|
Replaced by the new |
Clause Removed
|
Running queries with this clause will cause a syntax error. |
Clause Removed
|
Running queries with this clause will cause a syntax error. |
Syntax Removed
|
Replaced by |
Syntax Removed
|
Replaced by |
Syntax Removed
|
Replaced by |
Syntax Removed
|
Replaced by $parameter. |
Deprecated features
Feature | Details |
---|---|
Syntax Deprecated
|
As in Cypher 3.2, this is replaced by:
|
Syntax Deprecated
|
Replaced by |
Syntax Deprecated
|
Replaced by |
Syntax Deprecated
|
Replaced by |
Syntax Deprecated
|
Replaced by |
Syntax Deprecated
|
Replaced by |
Syntax Deprecated
|
Replaced by |
Restricted features
Feature | Details |
---|---|
Function Restricted
|
Restricted to only work on paths. See length() for more details. |
Function Restricted
|
Only works for strings, lists and pattern comprehensions, and no longer works for paths.
For versions above 5.0, use a
For versions below 5.0, use a pattern comprehension instead:
See size() and Count Subqueries for more details. |
Updated features
Feature | Details |
---|---|
Syntax Extended
|
The create constraint syntax can now include a name. The |
New features
Feature | Details |
---|---|
Functionality
New
|
This Neo4j Enterprise Edition only feature involves a new runtime that has many performance enhancements. |
Functionality
New |
New Cypher commands for administering multiple databases. |
Functionality
New |
New Cypher commands for administering role-based access control. |
Functionality
New |
New Cypher commands for administering dbms, database, graph and sub-graph access control. |
Syntax New
|
New syntax for creating indexes, which can include a name. Replaces the |
Syntax New
|
New command for dropping an index by name. |
Syntax New
|
New command for dropping a constraint by name, no matter the type. |
Clause New
|
|
Clause New
|
New clause to specify which graph a query, or query part, is executed against. |
Neo4j 3.5
Deprecated features
Feature | Details |
---|---|
Functionality
Deprecated
|
The compiled runtime will be discontinued in the next major release. It might still be used for default queries in order to not cause regressions, but explicitly requesting it will not be possible. |
Function Deprecated
|
Replaced by list comprehension. |
Function Deprecated
|
Replaced by list comprehension. |
Neo4j 3.4
Feature | Type | Change | Details |
---|---|---|---|
Functionality |
Amendment |
A point — irrespective of which Coordinate Reference System is used — can be stored as a property and is able to be backed by an index. Prior to this, a point was a virtual property only. |
|
Function |
Added |
||
Function |
Added |
||
Function |
Added |
||
Functionality |
Added |
Supports storing, indexing and working with the following temporal types: Date, Time, LocalTime, DateTime, LocalDateTime and Duration. |
|
Functionality |
Added |
Functions allowing for the creation and manipulation of values for each temporal type — Date, Time, LocalTime, DateTime, LocalDateTime and Duration. |
|
Functionality |
Added |
Operators allowing for the manipulation of values for each temporal type — Date, Time, LocalTime, DateTime, LocalDateTime and Duration. |
|
Function |
Extended |
Now also allows temporal values as input (i.e. values of type Date, Time, LocalTime, DateTime, LocalDateTime or Duration). |
Neo4j 3.3
Feature | Type | Change | Details |
---|---|---|---|
|
Clause |
Removed |
As in Cypher 3.2, any queries using the |
|
Functionality |
Added |
Neo4j Enterprise Edition only |
Function |
Extended |
Now also supports aggregation over sets containing lists of strings and/or numbers, as well as over sets containing strings, numbers, and lists of strings and/or numbers |
Neo4j 3.2
Feature | Type | Change | Details |
---|---|---|---|
|
Functionality |
Removed |
All queries now use the cost planner. Any query prepended thus will fall back to using Cypher 3.1. |
|
Clause |
Removed |
Running such queries will fall back to using Cypher 3.1 (and use the rule planner) |
|
Clause |
Removed |
Running such queries will fall back to using Cypher 3.1 (and use the rule planner) |
|
Syntax |
Deprecated |
Replaced by |
|
Syntax |
Deprecated |
Replaced by |
|
Syntax |
Deprecated |
Replaced by |
|
Syntax |
Deprecated |
Replaced by |
Functionality |
Added |
||
Index |
Added |
||
Index |
Added |
Neo4j Enterprise Edition only |
|
|
Functionality |
Added |
Neo4j Enterprise Edition only |
Function |
Extended |
Now also allows a list as input |
|
Function |
Extended |
Now also supports aggregation over a set containing both strings and numbers |
Neo4j 3.1
Feature | Type | Change | Details |
---|---|---|---|
|
Function |
Deprecated |
Replaced by relationships() |
|
Function |
Deprecated |
Replaced by toInteger() |
|
Function |
Deprecated |
Replaced by toLower() |
|
Function |
Deprecated |
Replaced by toUpper() |
Function |
Added |
||
Syntax |
Added |
||
Syntax |
Added |
||
Functionality |
Added |
||
Clause |
Extended |
Records returned by |
Neo4j 3.0
Feature | Type | Change | Details |
---|---|---|---|
|
Function |
Removed |
Replaced by exists() |
|
Function |
Removed |
Replaced by toString() |
|
Syntax |
Deprecated |
Replaced by $parameter |
Function |
Added |
||
Clause |
Added |
||
Function |
Added |
||
Function |
Added |
||
Function |
Added |
||
Functionality |
Added |
||
Function |
Extended |
Now also allows Boolean values as input |