Procedures
This page provides a complete reference to the Neo4j procedures. Available procedures depend on the type of installation you have:
-
Neo4j Enterprise Edition provides a larger set of procedures than Neo4j Community Edition.
-
Cluster members have procedures that are not available in standalone mode.
To check which procedures are available in your Neo4j DBMS, use the Cypher command SHOW PROCEDURES
:
SHOW PROCEDURES
Some procedures can only be run by users with For more information, see the |
List of procedures
Name | Community Edition | Enterprise Edition | Comment |
---|---|---|---|
No |
Yes |
Introduced in 5.17 Beta |
|
No |
Yes |
Introduced in 5.17 Beta |
|
No |
Yes |
Introduced in 5.17 Beta Admin Only |
|
Yes |
Yes |
||
Yes |
Yes |
||
No |
Yes |
||
Yes |
Yes |
Admin Only |
|
Yes |
Yes |
Introduced in 5.13 Beta |
|
Yes |
Yes |
Introduced in 5.18 Beta |
|
Yes |
Yes |
||
Yes |
Yes |
||
Yes |
Yes |
||
Yes |
Yes |
||
Yes |
Yes |
||
Yes |
Yes |
In 4.1, signature changed to |
|
Yes |
Yes |
In 4.1, signature changed to |
|
Yes |
Yes |
Introduced in 5.11 Beta until 5.13 Replaced by: |
|
Yes |
Yes |
Introduced in 5.11 Beta until 5.13 |
|
Yes |
Yes |
Introduced in 5.18 |
|
Yes |
Yes |
||
Yes |
Yes |
||
No |
Yes |
Admin Only |
|
Yes |
Yes |
||
Yes |
Yes |
Admin Only |
|
Yes |
Yes |
||
Yes |
Yes |
||
Yes |
Yes |
||
Yes |
Yes |
||
Yes |
Yes |
||
Yes |
Yes |
||
Yes |
Yes |
||
Yes |
Yes |
Admin Only |
|
Yes |
Yes |
Admin Only |
|
Yes |
Yes |
Admin Only |
|
Yes |
Yes |
Admin Only |
|
Yes |
Yes |
Admin Only |
|
Yes |
Yes |
Admin Only |
|
No |
Yes |
Introduced in 5.0 Admin Only |
|
No |
Yes |
Before Neo4j 5.23, the procedure can be run only with the |
|
No |
Yes |
Admin Only |
|
No |
Yes |
Before Neo4j 5.23, the procedure can be run only with the |
|
No |
Yes |
||
No |
Yes |
Introduced in 5.6 Admin Only |
|
No |
Yes |
Introduced in 5.22 Admin Only |
|
No |
Yes |
Introduced in 5.22 Admin Only |
|
No |
Yes |
Introduced in 5.23 |
|
No |
Yes |
Introduced in 5.23 |
|
No |
Yes |
Introduced in 5.23 |
|
No |
Yes |
Introduced in 5.23 |
|
No |
Yes |
Introduced in 5.23 |
|
No |
Yes |
Introduced in 5.24 |
|
No |
Yes |
Introduced in 5.24 Admin Only |
|
Yes |
Yes |
||
Yes |
Yes |
||
Yes |
Yes |
||
Yes |
Yes |
||
Yes |
Yes |
||
Yes |
Yes |
||
Yes |
Yes |
Admin Only |
|
Yes |
Yes |
||
No |
Yes |
||
No |
Yes |
Admin Only |
|
Yes |
Yes |
||
Yes |
Yes |
||
No |
Yes |
Admin Only |
|
No |
Yes |
Admin Only |
|
No |
Yes |
Admin Only |
|
No |
Yes |
Admin Only |
|
No |
Yes |
Admin Only Not available on Aura |
|
No |
Yes |
Admin Only |
|
No |
Yes |
Admin Only |
|
No |
Yes |
Admin Only |
|
Yes |
Yes |
||
No |
Yes |
Admin Only |
|
Yes |
Yes |
Introduced in 5.19 |
|
Yes |
Yes |
Introduced in 5.17 |
|
Yes |
Yes |
||
Yes |
Yes |
List of deprecated procedures
Name | Community Edition | Enterprise Edition | Comment |
---|---|---|---|
No |
Yes |
Introduced in 5.13 Beta Deprecated in 5.17
Replaced by: |
|
No |
Yes |
Introduced in 5.13 Beta Deprecated in 5.17
Replaced by: |
|
No |
Yes |
Introduced in 5.13 Beta Admin Only Deprecated in 5.17
Replaced by: |
|
Yes |
Yes |
Introduced in 5.11 Beta Deprecated in 5.13 Replaced by: |
|
No |
Yes |
Admin Only Deprecated in 5.6. |
|
Yes |
Yes |
Deprecated in 5.21. |
|
No |
Yes |
Deprecated in 5.23. |
|
No |
Yes |
Admin Only Deprecated in 5.23 |
|
Yes |
Yes |
Admin Only Deprecated in 5.9 |
|
Yes |
Yes |
Admin Only Deprecated in 5.9 |
List of removed procedures
Name | Community Edition | Enterprise Edition | Replaced by |
---|---|---|---|
Yes |
Yes |
|
|
Yes |
Yes |
|
|
No |
Yes |
|
|
Yes |
Yes |
|
|
Yes |
Yes |
|
|
Yes |
Yes |
|
|
Yes |
Yes |
|
|
Yes |
Yes |
|
|
Yes |
Yes |
|
|
Yes |
Yes |
|
|
No |
Yes |
|
|
No |
Yes |
|
|
No |
Yes |
|
|
No |
Yes |
|
|
Yes |
Yes |
|
|
Yes |
Yes |
|
|
Yes |
Yes |
|
|
Yes |
Yes |
|
|
Yes |
Yes |
|
|
Yes |
Yes |
|
|
Yes |
Yes |
|
|
Yes |
Yes |
|
|
No |
Yes |
|
|
No |
Yes |
|
|
No |
Yes |
|
|
Yes |
Yes |
|
|
No |
Yes |
|
|
No |
Yes |
|
|
Yes |
Yes |
|
|
No |
Yes |
|
|
Yes |
Yes |
|
|
Yes |
Yes |
|
|
No |
Yes |
|
|
Yes |
Yes |
|
|
No |
Yes |
|
|
No |
Yes |
|
|
No |
Yes |
|
Procedure descriptions
Description |
Returns the current change identifier that can be used to stream changes from. |
Signature |
|
Mode |
|
Replaced by |
Description |
Returns the earliest change identifier that can be used to stream changes from. |
Signature |
|
Mode |
|
Replaced by |
Description |
Query changes happened from the provided change identifier. |
Signature |
|
Mode |
|
Replaced by |
Description |
Returns the current change identifier that can be used to stream changes from. |
Signature |
|
Mode |
|
Description |
Returns the earliest change identifier that can be used to stream changes from. |
Signature |
|
Mode |
|
Description |
Query changes happened from the provided change identifier. |
Signature |
|
Mode |
|
Description |
Wait for an index to come online (for example: |
Signature |
|
Mode |
|
This procedure is not considered safe to run from multiple threads. It is therefore not supported by the parallel runtime (introduced in Neo4j 5.13). For more information, see the Cypher Manual → Parallel runtime. |
Description |
Wait for all indexes to come online (for example: |
Signature |
|
Mode |
|
This procedure is not considered safe to run from multiple threads. It is therefore not supported by the parallel runtime (introduced in Neo4j 5.13). For more information, see the Cypher Manual → Parallel runtime. |
Description |
Initiate and wait for a new check point, or wait any already on-going check point to complete. Note that this temporarily disables the |
Signature |
|
Mode |
|
This procedure is not considered safe to run from multiple threads. It is therefore not supported by the parallel runtime (introduced in Neo4j 5.13). For more information, see the Cypher Manual → Parallel runtime. |
Description |
Clears all query caches. |
Signature |
|
Mode |
|
Description |
Set a vector property on a given node in a more space efficient representation than Cypher’s |
Signature |
|
Mode |
|
Known issue
Procedure signatures from |
Description |
Set a vector property on a given relationship in a more space efficient representation than Cypher’s |
Signature |
|
Mode |
|
Known issue
Procedure signatures from |
Description |
Set a vector property on a given node in a more space efficient representation than Cypher’s |
Signature |
|
Mode |
|
Replaced by |
Known issue
Procedure signatures from |
Description |
Create a label |
Signature |
|
Mode |
|
Description |
Create a Property |
Signature |
|
Mode |
|
Description |
Create a RelationshipType |
Signature |
|
Mode |
|
Description |
Wait for the updates from recently committed transactions to be applied to any eventually-consistent full-text indexes. |
Signature |
|
Mode |
|
Description |
List the available analyzers that the full-text indexes can be configured with. |
Signature |
|
Mode |
|
Description |
Query the given full-text index.
Returns the matching nodes and their Lucene query score, ordered by score.
Valid key: value pairs for the
The |
Signature |
|
Mode |
|
Description |
Query the given full-text index.
Returns the matching relationships and their Lucene query score, ordered by score.
Valid key: value pairs for the
The |
Signature |
|
Mode |
|
Description |
Create a named node vector index for the specified label and property with the given vector dimensionality using either the EUCLIDEAN or COSINE similarity function.
Both similarity functions are case-insensitive.
Use the |
Signature |
|
Mode |
|
Replaced by |
|
Description |
Query the given vector index.
Returns requested number of nearest neighbors to the provided query vector, and their similarity score to that query vector, based on the configured similarity function for the index.
The similarity score is a value between [0, 1]; where |
Signature |
|
Mode |
|
Known issue
Procedure signatures from |
Description |
Query the given relationship vector index.
Returns requested number of nearest neighbors to the provided query vector, and their similarity score to that query vector, based on the configured similarity function for the index. The similarity score is a value between |
Signature |
|
Mode |
|
Known issue
Procedure signatures from |
Description |
Provides information regarding the database. |
Signature |
|
Mode |
|
This procedure is not considered safe to run from multiple threads. It is therefore not supported by the parallel runtime (introduced in Neo4j 5.13). For more information, see the Cypher Manual → Parallel runtime. |
Description |
List all labels attached to nodes within a database according to the user’s access rights. The procedure returns empty results if the user is not authorized to view those labels. |
Signature |
|
Mode |
|
This procedure is not considered safe to run from multiple threads. It is therefore not supported by the parallel runtime (introduced in Neo4j 5.13). For more information, see the Cypher Manual → Parallel runtime. |
Description |
List all locks at this database. |
Signature |
|
Mode |
|
This procedure is not considered safe to run from multiple threads. It is therefore not supported by the parallel runtime (introduced in Neo4j 5.13). For more information, see the Cypher Manual → Parallel runtime. |
Description |
This procedure can be used by client side tooling to test whether they are correctly connected to a database. The procedure is available in all databases and always returns true. A faulty connection can be detected by not being able to call this procedure. |
Signature |
|
Mode |
|
This procedure is not considered safe to run from multiple threads. It is therefore not supported by the parallel runtime (introduced in Neo4j 5.13). For more information, see the Cypher Manual → Parallel runtime. |
Description |
Triggers an index resample and waits for it to complete, and after that clears query caches. After this procedure has finished queries will be planned using the latest database statistics. |
Signature |
|
Mode |
|
This procedure is not considered safe to run from multiple threads. It is therefore not supported by the parallel runtime (introduced in Neo4j 5.13). For more information, see the Cypher Manual → Parallel runtime. |
Description |
List all property keys in the database. |
Signature |
|
Mode |
|
This procedure is not considered safe to run from multiple threads. It is therefore not supported by the parallel runtime (introduced in Neo4j 5.13). For more information, see the Cypher Manual → Parallel runtime. |
Description |
List all types attached to relationships within a database according to the user’s access rights. The procedure returns empty results if the user is not authorized to view those relationship types. |
Signature |
|
Mode |
|
This procedure is not considered safe to run from multiple threads. It is therefore not supported by the parallel runtime (introduced in Neo4j 5.13). For more information, see the Cypher Manual → Parallel runtime. |
Description |
Schedule resampling of an index (for example: |
Signature |
|
Mode |
|
This procedure is not considered safe to run from multiple threads. It is therefore not supported by the parallel runtime (introduced in Neo4j 5.13). For more information, see the Cypher Manual → Parallel runtime. |
Description |
Schedule resampling of all outdated indexes. |
Signature |
|
Mode |
|
This procedure is not considered safe to run from multiple threads. It is therefore not supported by the parallel runtime (introduced in Neo4j 5.13). For more information, see the Cypher Manual → Parallel runtime. |
Description |
Show the derived property schema of the nodes in tabular form. |
Signature |
|
Mode |
|
This procedure is not considered safe to run from multiple threads. It is therefore not supported by the parallel runtime (introduced in Neo4j 5.13). For more information, see the Cypher Manual → Parallel runtime. |
Description |
Show the derived property schema of the relationships in tabular form. |
Signature |
|
Mode |
|
This procedure is not considered safe to run from multiple threads. It is therefore not supported by the parallel runtime (introduced in Neo4j 5.13). For more information, see the Cypher Manual → Parallel runtime. |
Description |
Visualizes the schema of the data based on available statistics. A new node is returned for each label. The properties represented on the node include: name (label name), indexes (list of indexes), and constraints (list of constraints). A relationship of a given type is returned for all possible combinations of start and end nodes. The properties represented on the relationship include: name (type name). Note that this may include additional relationships that do not exist in the data due to the information available in the count store. |
Signature |
|
Mode |
|
This procedure is not considered safe to run from multiple threads. It is therefore not supported by the parallel runtime (introduced in Neo4j 5.13). For more information, see the Cypher Manual → Parallel runtime. |
Description |
Clear collected data of a given data section. Valid sections are |
Signature |
|
Mode |
|
Description |
Start data collection of a given data section. Valid sections are |
Signature |
|
Mode |
|
Description |
Retrieve statistical data about the current database. Valid sections are |
Signature |
|
Mode |
|
Description |
Retrieve all available statistical data about the current database, in an anonymized form. |
Signature |
|
Mode |
|
Description |
Retrieve the status of all available collector daemons, for this database. |
Signature |
|
Mode |
|
Description |
Stop data collection of a given data section. Valid sections are |
Signature |
|
Mode |
|
Description |
This procedure provides feedback about the validity of a setting value. It does not change the setting. The procedure returns:
|
Signature |
|
Mode |
|
This procedure is not considered safe to run from multiple threads. It is therefore not supported by the parallel runtime (introduced in Neo4j 5.13). For more information, see the Cypher Manual → Parallel runtime. |
Description |
With this method you can set whether free servers are automatically enabled. |
Signature |
|
Mode |
|
Before Neo4j 5.23, the procedure |
Description |
Check the connectivity of this instance to other cluster members. Not all ports are relevant to all members. Valid values for 'port-name' are: [CLUSTER, RAFT]. |
Signature |
|
Mode |
|
Description |
Mark a server in the topology as not suitable for new allocations. It will not force current allocations off the server. This is useful when deallocating databases when you have multiple unavailable servers. |
Signature |
|
Mode |
|
Before Neo4j 5.23, the procedure |
Description |
Returns the advertised bolt capable endpoints for a given database, divided by each endpoint’s capabilities.
For example, an endpoint may serve read queries, write queries, and/or future |
Signature |
|
Mode |
|
Description |
Overview of installed protocols. |
Signature |
|
Mode |
|
Description |
The toggle can pause or resume read replica (deprecated in favor of |
Signature |
|
Mode |
|
Replaced by |
What is it for? You can perform a point-in-time backup, as the backup will contain only the transactions up to the point where the transaction pulling was paused. Follow these steps to do so:
If connected directly to a server hosting a database in secondary mode, Data Scientists can execute analysis on a specific database that is paused, the data will not unexpectedly change while performing the analysis. |
This procedure can only be executed on a database that runs in a secondary role on the connected server. |
neo4j
CALL dbms.cluster.readReplicaToggle("neo4j", true)
neo4j
CALL dbms.cluster.readReplicaToggle("neo4j", false)
Description |
The toggle can pause or resume the secondary replication process. |
Signature |
|
Mode |
|
What is it for? You can perform a point-in-time backup, as the backup will contain only the transactions up to the point where the transaction pulling was paused. Follow these steps to do so:
If connected directly to a server hosting a database in secondary mode, Data Scientists can execute analysis on a specific database that is paused, the data will not unexpectedly change while performing the analysis. |
This procedure can only be executed on a database that runs in a secondary role on the connected server. |
neo4j
CALL dbms.cluster.secondaryReplicationDisable("neo4j", true)
neo4j
CALL dbms.cluster.secondaryReplicationDisable("neo4j", false)
Description |
Remove the cordon on a server, returning it to 'enabled'. |
Signature |
|
Mode |
|
Replaced by |
Before Neo4j 5.23, the procedure |
Description |
Allows you to select which discovery service should be started. Possible values are:
|
Signature |
|
Mode |
|
Description |
Compare the states of Discovery service V1 and Discovery service V2. |
Signature |
|
Mode |
|
Description |
Deallocate a specific user database from a specific server. |
Signature |
|
Mode |
|
This procedure requires the SERVER MANAGEMENT
privilege.
Description |
Deallocate a specific user database from a list of servers. |
Signature |
|
Mode |
|
This procedure requires the SERVER MANAGEMENT
privilege.
Description |
Deallocate a number of user databases from a specific server. |
Signature |
|
Mode |
|
This procedure requires the SERVER MANAGEMENT
privilege.
Description |
Reallocate a specific database. |
Signature |
|
Mode |
|
This procedure requires the SERVER MANAGEMENT
privilege.
Description |
Reallocate a specified number of user databases. |
Signature |
|
Mode |
|
This procedure requires the SERVER MANAGEMENT
privilege.
Description |
Recreates a database while keeping all RBAC settings. The procedure initiates a process, which when complete, will have synchronized and started all database instances within the cluster. |
Signature |
|
Mode |
WRITE |
Description |
Performs a rafted status check. |
Signature |
|
Mode |
DBMS |
Description |
List DBMS components and their versions. |
Signature |
|
Mode |
|
Description |
Provides information regarding the DBMS. |
Signature |
|
Mode |
|
Description |
Kill network connection with the given connection id. |
Signature |
|
Mode |
|
Description |
Kill all network connections with the given connection ids. |
Signature |
|
Mode |
|
Description |
List the active lock requests granted for the transaction executing the query with the given query id. |
Signature |
|
Mode |
|
This procedure is not considered safe to run from multiple threads. It is therefore not supported by the parallel runtime (introduced in Neo4j 5.13). For more information, see the Cypher Manual → Parallel runtime. |
Description |
List capabilities. |
Signature |
|
Mode |
|
Description |
List the currently active configuration settings of Neo4j. |
Signature |
|
Mode |
|
Description |
List all accepted network connections at this instance that are visible to the user. |
Signature |
|
Mode |
|
Description |
List all memory pools, including sub pools, currently registered at this instance that are visible to the user. |
Signature |
|
Mode |
|
This procedure is not considered safe to run from multiple threads. It is therefore not supported by the parallel runtime (introduced in Neo4j 5.13). For more information, see the Cypher Manual → Parallel runtime. |
Description |
Place a database into quarantine or remove it from it. |
Signature |
|
Mode |
|
Description |
Query JMX management data by domain and name. For instance, use |
Signature |
|
Mode |
|
Description |
Returns the advertised bolt capable endpoints for a given database, divided by each endpoint’s capabilities.
For example an endpoint may serve read queries, write queries and/or future |
Signature |
|
Mode |
|
Description |
With this method, you can set the allocator that is responsible for selecting servers for hosting databases. |
Signature |
|
Mode |
WRITE |
Description |
With this method you can set the default number of primaries and secondaries. |
Signature |
|
Mode |
WRITE |
Description |
Change the default database to the provided value. The database must exist and the old default database must be stopped. |
Signature |
|
Mode |
WRITE |
Description |
List failed job runs. There is a limit for amount of historical data. |
Signature |
|
Mode |
|
This procedure is not considered safe to run from multiple threads. It is therefore not supported by the parallel runtime (introduced in Neo4j 5.13). For more information, see the Cypher Manual → Parallel runtime. |
Description |
List the job groups that are active in the database internal job scheduler. |
Signature |
|
Mode |
|
This procedure is not considered safe to run from multiple threads. It is therefore not supported by the parallel runtime (introduced in Neo4j 5.13). For more information, see the Cypher Manual → Parallel runtime. |
Description |
List all jobs that are active in the database internal job scheduler. |
Signature |
|
Mode |
|
This procedure is not considered safe to run from multiple threads. It is therefore not supported by the parallel runtime (introduced in Neo4j 5.13). For more information, see the Cypher Manual → Parallel runtime. |
Description |
Clears authentication and authorization cache. |
Signature |
|
Mode |
|
Description |
Update a given setting value.
Passing an empty value results in removing the configured value and falling back to the default value.
Changes do not persist and are lost if the server is restarted.
In a clustered environment, |
Signature |
|
Mode |
|
Description |
Show the current user. |
Signature |
|
Mode |
|
Description |
With this method the configuration of the Topology Graph can be displayed. |
Signature |
|
Mode |
|
Description |
Upgrade the system database schema if it is not the current schema. |
Signature |
|
Mode |
|
This procedure is not considered safe to run from multiple threads. It is therefore not supported by the parallel runtime (introduced in Neo4j 5.13). For more information, see the Cypher Manual → Parallel runtime. |
Description |
Report the current status of the system database sub-graph schema. |
Signature |
|
Mode |
|
This procedure is not considered safe to run from multiple threads. It is therefore not supported by the parallel runtime (introduced in Neo4j 5.13). For more information, see the Cypher Manual → Parallel runtime. |
Description |
Lists the available vector embedding providers. |
Signature |
|
Mode |
|
Description |
Encode a given batch of resources as vectors using the named provider. For each element in the given resource LIST this returns:
|
Signature |
|
Mode |
|
For more information, see the Cypher Manual → Generating a batch of embeddings.
Known issue
Procedure signatures from |
Description |
Provides attached transaction metadata. |
Signature |
|
Mode |
|
Description |
Attaches a map of data to the transaction. The data will be printed when listing queries, and inserted into the query log. |
Signature |
|
Mode |
|