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:

Example 1. List available procedures
SHOW PROCEDURES

Some procedures can only be run by users with Admin privileges. Specifically, either the EXECUTE ADMIN PROCEDURES privilege or both the EXECUTE PROCEDURES and EXECUTE BOOSTED PROCEDURES privileges. These procedures are labeled with Admin Only.

For more information, see the EXECUTE privileges section.

List of procedures

Table 1. Neo4j procedures
Name Community Edition Enterprise Edition Comment

cdc.current()

No

Yes

Introduced in 5.13 Beta

cdc.earliest()

No

Yes

Introduced in 5.13 Beta

cdc.query()

No

Yes

Introduced in 5.13 Beta Admin Only

db.awaitIndex()

Yes

Yes

db.awaitIndexes()

Yes

Yes

db.checkpoint()

No

Yes

db.clearQueryCaches()

Yes

Yes

Admin Only

db.create.setNodeVectorProperty()

Yes

Yes

Introduced in 5.13 Beta

db.create.setVectorProperty()

Yes

Yes

Introduced in 5.11 Beta Deprecated in 5.13 Replaced by db.create.setNodeVectorProperty()

db.createLabel()

Yes

Yes

db.createProperty()

Yes

Yes

db.createRelationshipType()

Yes

Yes

db.index.fulltext.awaitEventuallyConsistentIndexRefresh()

Yes

Yes

db.index.fulltext.listAvailableAnalyzers()

Yes

Yes

db.index.fulltext.queryNodes()

Yes

Yes

In 4.1, signature changed to db.index.fulltext.queryNodes(indexName :: STRING, queryString :: STRING, options = {} :: MAP) :: (node :: NODE, score :: FLOAT).

db.index.fulltext.queryRelationships()

Yes

Yes

In 4.1, signature changed to db.index.fulltext.queryRelationships(indexName :: STRING, queryString :: STRING, options = {} :: MAP) :: (relationship :: RELATIONSHIP, score :: FLOAT).

db.index.vector.createNodeIndex()

Yes

Yes

Introduced in 5.11 Beta until 5.13

db.index.vector.queryNodes()

Yes

Yes

Introduced in 5.11 Beta until 5.13

db.info()

Yes

Yes

db.labels()

Yes

Yes

db.listLocks()

No

Yes

Admin Only
In 4.2, signature changed to db.listLocks() :: (mode :: STRING, resourceType :: STRING, resourceId :: INTEGER, transactionId :: STRING).

db.ping()

Yes

Yes

db.prepareForReplanning()

Yes

Yes

Admin Only

db.propertyKeys()

Yes

Yes

db.relationshipTypes()

Yes

Yes

db.resampleIndex()

Yes

Yes

db.resampleOutdatedIndexes()

Yes

Yes

db.schema.nodeTypeProperties()

Yes

Yes

db.schema.relTypeProperties()

Yes

Yes

db.schema.visualization()

Yes

Yes

db.stats.clear()

Yes

Yes

Admin Only

db.stats.collect()

Yes

Yes

Admin Only

db.stats.retrieve()

Yes

Yes

Admin Only

db.stats.retrieveAllAnonymized()

Yes

Yes

Admin Only

db.stats.status()

Yes

Yes

Admin Only

db.stats.stop()

Yes

Yes

Admin Only

dbms.checkConfigValue()

No

Yes

Introduced in 5.0 Admin Only

dbms.cluster.setAutomaticallyEnableFreeServers()

No

Yes

Admin Only

dbms.cluster.checkConnectivity()

No

Yes

Admin Only

dbms.cluster.cordonServer()

No

Yes

Admin Only

dbms.cluster.protocols()

No

Yes

Deprecated in 5.6

dbms.cluster.readReplicaToggle()

No

Yes

Admin Only Deprecated in 5.6.
Replaced by dbms.cluster.secondaryReplicationDisable().

dbms.cluster.secondaryReplicationDisable()

No

Yes

Admin Only Introduced in 5.6

dbms.cluster.routing.getRoutingTable()

Yes

Yes

dbms.cluster.uncordonServer()

No

Yes

Admin Only

dbms.components()

Yes

Yes

dbms.info()

Yes

Yes

dbms.killConnection()

Yes

Yes

dbms.killConnections()

Yes

Yes

dbms.listActiveLocks()

Yes

Yes

dbms.listCapabilities()

Yes

Yes

dbms.listConfig()

Yes

Yes

Admin Only

dbms.listConnections()

Yes

Yes

dbms.listPools()

No

Yes

dbms.quarantineDatabase()

No

Yes

Admin Only

dbms.queryJmx()

Yes

Yes

dbms.routing.getRoutingTable()

Yes

Yes

dbms.scheduler.failedJobs()

No

Yes

Admin Only

dbms.scheduler.groups()

No

Yes

Admin Only

dbms.scheduler.jobs()

No

Yes

Admin Only

dbms.security.clearAuthCache()

No

Yes

Admin Only

dbms.setConfigValue()

No

Yes

Admin Only

dbms.setDatabaseAllocator()

No

Yes

Admin Only

dbms.setDefaultAllocationNumbers()

No

Yes

Admin Only

dbms.setDefaultDatabase()

No

Yes

Admin Only

dbms.showCurrentUser()

Yes

Yes

dbms.showTopologyGraphConfig()

No

Yes

Admin Only

dbms.upgrade()

Yes

Yes

Admin Only Deprecated in 5.9

dbms.upgradeStatus()

Yes

Yes

Admin Only Deprecated in 5.9

tx.getMetaData()

Yes

Yes

tx.setMetaData()

Yes

Yes

List of removed procedures

Table 2. Removed Neo4j procedures
Name Community Edition Enterprise Edition Comment

db.constraints()

Yes

Yes

Removed
Replaced by: SHOW CONSTRAINTS.

db.createIndex()

Yes

Yes

Removed
Replaced by: CREATE INDEX.

db.createNodeKey()

No

Yes

Removed
Replaced by: CREATE CONSTRAINT …​ IS NODE KEY.

db.createUniquePropertyConstraint()

Yes

Yes

Removed
Replaced by: CREATE CONSTRAINT …​ IS UNIQUE.

db.indexes()

Yes

Yes

Removed
Replaced by: SHOW INDEXES.

db.indexDetails()

Yes

Yes

Removed
Replaced by: SHOW INDEXES YIELD*.

db.index.fulltext.createNodeIndex()

Yes

Yes

Removed
Replaced by: CREATE FULLTEXT INDEX …​.

db.index.fulltext.createRelationshipIndex()

Yes

Yes

Removed
Replaced by: CREATE FULLTEXT INDEX …​.

db.index.fulltext.drop()

Yes

Yes

Removed
Replaced by: DROP INDEX …​.

db.schemaStatements()

Yes

Yes

Removed
Replaced by: SHOW INDEXES YIELD * and SHOW CONSTRAINTS YIELD *.

dbms.cluster.overview()

No

Yes

Removed
Replaced by: SHOW SERVERS.

dbms.cluster.quarantineDatabase()

No

Yes

Removed
Replaced by: dbms.quarantineDatabase().

dbms.cluster.role()

No

Yes

Removed
Replaced by: SHOW DATABASES.

dbms.cluster.setDefaultDatabase()

No

Yes

Removed
Replaced by: dbms.setDefaultDatabase.

dbms.database.state()

Yes

Yes

Removed
Replaced by: SHOW DATABASES.

dbms.functions()

Yes

Yes

Removed
Replaced by: SHOW FUNCTIONS.

dbms.killQueries()

Yes

Yes

Removed
Replaced by: TERMINATE TRANSACTIONS.

dbms.killQuery()

Yes

Yes

Removed
Replaced by: TERMINATE TRANSACTIONS.

dbms.killTransaction()

Yes

Yes

Removed
Replaced by: TERMINATE TRANSACTIONS.

dbms.killTransactions()

Yes

Yes

Removed
Replaced by: TERMINATE TRANSACTIONS.

dbms.listQueries()

Yes

Yes

Removed
Replaced by: SHOW TRANSACTIONS.

dbms.listTransactions()

Yes

Yes

Removed
Replaced by: SHOW TRANSACTIONS.

dbms.procedures()

No

Yes

Removed
Replaced by: SHOW PROCEDURES.

dbms.security.activateUser()

No

Yes

Removed Admin Only
In 4.1, mode changed to write.
Replaced by: ALTER USER.

dbms.security.addRoleToUser()

No

Yes

Removed Admin Only
In 4.1, mode changed to write.
Replaced by: GRANT ROLE TO USER.

dbms.security.changePassword()

Yes

Yes

Removed Admin Only
In 4.1, mode changed to write.
Replaced by: ALTER CURRENT USER SET PASSWORD.

dbms.security.changeUserPassword()

No

Yes

Removed Admin Only
In 4.1, mode changed to write.
Replaced by: ALTER USER.

dbms.security.createRole()

No

Yes

Removed Admin Only
In 4.1, mode changed to write.
Replaced by: CREATE ROLE.

dbms.security.createUser()

Yes

Yes

Removed Admin Only
In 4.1, mode changed to write.
Replaced by: CREATE USER.

dbms.security.deleteRole()

No

Yes

Removed Admin Only
In 4.1, mode changed to write.
Replaced by: DROP ROLE.

dbms.security.deleteUser()

Yes

Yes

Removed Admin Only
In 4.1, mode changed to write.
Replaced by: DROP USER.

dbms.security.listRoles()

Yes

Yes

Removed Admin Only
In 4.1, mode changed to read.
Replaced by: SHOW ROLES.

dbms.security.listRolesForUser()

No

Yes

Removed
In 4.1, mode changed to read.
Replaced by: SHOW USERS.

dbms.security.listUsers()

Yes

Yes

Removed Admin Only
In 4.1, mode changed to read.
Replaced by: SHOW USERS.

dbms.security.listUsersForRole()

No

Yes

Removed Admin Only
In 4.1, mode changed to read.
Replaced by: SHOW ROLES WITH USERS.

dbms.security.removeRoleFromUser()

No

Yes

Removed Admin Only
In 4.1, mode changed to write.
Replaced by: REVOKE ROLE FROM USER.

dbms.security.suspendUser()

No

Yes

Removed Admin Only
In 4.1, mode changed to write.
Replaced by: ALTER USER.

Procedure descriptions

Table 3. cdc.current() Introduced in 5.13 Beta

Description

Returns the current change identifier that can be used to stream changes from.

Signature

cdc.current() :: (id :: STRING)

Mode

READ

Table 4. cdc.earliest() Introduced in 5.13 Beta

Description

Returns the earliest change identifier that can be used to stream changes from.

Signature

cdc.earliest() :: (id :: STRING)

Mode

READ

Table 5. cdc.query() Introduced in 5.13 Beta Admin Only

Description

Query changes happened from the provided change identifier.

Signature

cdc.query(from = :: STRING, selectors = [] :: LIST<MAP>) :: (id :: STRING, txId :: INTEGER, seq :: INTEGER, metadata :: MAP, event :: MAP)

Mode

READ

Table 6. db.awaitIndex()

Description

Wait for an index to come online (for example: CALL db.awaitIndex("MyIndex", 300)).

Signature

db.awaitIndex(indexName :: STRING, timeOutSeconds = 300 :: INTEGER)

Mode

READ

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.

Table 7. db.awaitIndexes()

Description

Wait for all indexes to come online (for example: CALL db.awaitIndexes(300)).

Signature

db.awaitIndexes(timeOutSeconds = 300 :: INTEGER)

Mode

READ

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.

Table 8. db.checkpoint() Enterprise Edition

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 db.checkpoint.iops.limit setting in order to make the check point complete faster. This might cause transaction throughput to degrade slightly, due to increased IO load.

Signature

db.checkpoint() :: (success :: BOOLEAN, message :: STRING)

Mode

DBMS

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.

Table 9. db.clearQueryCaches() Admin Only

Description

Clears all query caches.

Signature

db.clearQueryCaches() :: (value :: STRING)

Mode

DBMS

Table 10. db.create.setNodeVectorProperty() Introduced in 5.13 Beta

Description

Set a vector property on a given node in a more space efficient representation than Cypher’s SET.

Signature

db.create.setNodeVectorProperty(node :: NODE, key :: STRING, vector :: LIST<FLOAT>)

Mode

WRITE

Table 11. db.create.setVectorProperty() Introduced in 5.11 Beta Deprecated in 5.13

Description

Set a vector property on a given node in a more space efficient representation than Cypher’s SET.

Signature

db.create.setVectorProperty(node :: NODE, key :: STRING, vector :: LIST<FLOAT>) :: (node :: NODE)

Mode

WRITE

Replaced by

Table 12. db.createLabel()

Description

Create a label

Signature

db.createLabel(newLabel :: STRING)

Mode

WRITE

Table 13. db.createProperty()

Description

Create a Property

Signature

db.createProperty(newProperty :: STRING)

Mode

WRITE

Table 14. db.createRelationshipType()

Description

Create a RelationshipType

Signature

db.createRelationshipType(newRelationshipType :: STRING)

Mode

WRITE

Table 15. db.index.fulltext.awaitEventuallyConsistentIndexRefresh()

Description

Wait for the updates from recently committed transactions to be applied to any eventually-consistent full-text indexes.

Signature

db.index.fulltext.awaitEventuallyConsistentIndexRefresh()

Mode

READ

Table 16. db.index.fulltext.listAvailableAnalyzers()

Description

List the available analyzers that the full-text indexes can be configured with.

Signature

db.index.fulltext.listAvailableAnalyzers() :: (analyzer :: STRING, description :: STRING, stopwords :: LIST<STRING>)

Mode

READ

Table 17. db.index.fulltext.queryNodes()

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 options map are:

  • skip: <number> — skip the top N results.

  • limit: <number> — limit the number of results returned.

  • analyzer: <string> — use the specified analyzer as a search analyzer for this query.

The options map and any of the keys are optional. An example of the options map: {skip: 30, limit: 10, analyzer: 'whitespace'}

Signature

db.index.fulltext.queryNodes(indexName :: STRING, queryString :: STRING, options = {} :: MAP) :: (node :: NODE, score :: FLOAT)

Mode

READ

Table 18. db.index.fulltext.queryRelationships()

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 options map are:

  • skip: <number> — skip the top N results.

  • limit: <number> — limit the number of results returned.

  • analyzer: <string> — use the specified analyzer as a search analyzer for this query.

The options map and any of the keys are optional. An example of the options map: {skip: 30, limit: 10, analyzer: 'whitespace'}

Signature

db.index.fulltext.queryRelationships(indexName :: STRING, queryString :: STRING, options = {} :: MAP) :: (relationship :: RELATIONSHIP, score :: FLOAT)

Mode

READ

Table 19. db.index.vector.createNodeIndex() Introduced in 5.11 Beta until 5.13

Description

Create a named vector index for the given label, and property with given vector dimensionality, using the given similarity function.

vectorDimension must be between 1 and 2048 inclusively.

Valid case-insensitive values for the vectorSimilarityFunction are:

  • "euclidean" — Euclidean similarity, where:

    The Euclidean of vector v and vector u is defined as 1 over the quantity 1 plus the square of the l2-norm of vector v subtract vector u, which exists in the bounded set of real numbers between 0 exclusive and 1 inclusive.
  • "cosine" — Cosine similarity, where:

    The cosine of vector v and vector u is defined as half of the quanity 1 plus the scalar product of v hat u hat, which equals half of the quantity 1 plus the scalar product of vector v vector u over the product of the l2-norm of vector v and the l2 norm ov vector u, which exists in the bounded set of real numbers between 0 inclusive and 1 inclusive.

    In the above equation, the trigonometric cosine is given by the scalar product of the two unit vectors.

Signature

db.index.vector.createNodeIndex(indexName :: STRING, label :: STRING, propertyKey :: STRING, vectorDimension :: INTEGER, vectorSimilarityFunction :: STRING)

Mode

SCHEMA

Table 20. db.index.vector.queryNodes() Introduced in 5.11 Beta until 5.13

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 0 indicates least similar, 1 most similar.

Signature

db.index.vector.queryNodes(indexName :: STRING, numberOfNearestNeighbours :: INTEGER, query :: LIST<FLOAT>) :: (node :: NODE, score :: FLOAT)

Mode

READ

Table 21. db.info()

Description

Provides information regarding the database.

Signature

db.info() :: (id :: STRING, name :: STRING, creationDate :: STRING)

Mode

READ

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.

Table 22. db.labels()

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

db.labels() :: (label :: STRING)

Mode

READ

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.

Table 23. db.listLocks() Enterprise Edition Admin Only

Description

List all locks at this database.

Signature

db.listLocks() :: (mode :: STRING, resourceType :: STRING, resourceId :: INTEGER, transactionId :: STRING)

Mode

DBMS

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.

Table 24. db.ping()

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

db.ping() :: (success :: BOOLEAN)

Mode

READ

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.

Table 25. db.prepareForReplanning() Admin Only

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

db.prepareForReplanning(timeOutSeconds = 300 :: INTEGER)

Mode

READ

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.

Table 26. db.propertyKeys()

Description

List all property keys in the database.

Signature

db.propertyKeys() :: (propertyKey :: STRING)

Mode

READ

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.

Table 27. db.relationshipTypes()

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

db.relationshipTypes() :: (relationshipType :: STRING)

Mode

READ

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.

Table 28. db.resampleIndex()

Description

Schedule resampling of an index (for example: CALL db.resampleIndex("MyIndex")).

Signature

db.resampleIndex(indexName :: STRING)

Mode

READ

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.

Table 29. db.resampleOutdatedIndexes()

Description

Schedule resampling of all outdated indexes.

Signature

db.resampleOutdatedIndexes()

Mode

READ

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.

Table 30. db.schema.nodeTypeProperties()

Description

Show the derived property schema of the nodes in tabular form.

Signature

db.schema.nodeTypeProperties() :: (nodeType :: STRING, nodeLabels :: LIST<STRING>, propertyName :: STRING, propertyTypes :: LIST<STRING>, mandatory :: BOOLEAN)

Mode

READ

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.

Table 31. db.schema.relTypeProperties()

Description

Show the derived property schema of the relationships in tabular form.

Signature

db.schema.relTypeProperties() :: (relType :: STRING, propertyName :: STRING, propertyTypes :: LIST<STRING>, mandatory :: BOOLEAN)

Mode

READ

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.

Table 32. db.schema.visualization()

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

db.schema.visualization() :: (nodes :: LIST<NODE>, relationships :: LIST<RELATIONSHIP>)

Mode

READ

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.

Table 33. db.stats.clear() Admin Only

Description

Clear collected data of a given data section.

Valid sections are 'QUERIES'

Signature

db.stats.clear(section :: STRING) :: (section :: STRING, success :: BOOLEAN, message :: STRING)

Mode

READ

Table 34. db.stats.collect() Admin Only

Description

Start data collection of a given data section.

Valid sections are 'QUERIES'

Signature

db.stats.collect(section :: STRING, config = {} :: MAP) :: (section :: STRING, success :: BOOLEAN, message :: STRING)

Mode

READ

Table 35. db.stats.retrieve() Admin Only

Description

Retrieve statistical data about the current database.

Valid sections are 'GRAPH COUNTS', 'TOKENS', 'QUERIES', 'META'

Signature

db.stats.retrieve(section :: STRING, config = {} :: MAP) :: (section :: STRING, data :: MAP)

Mode

READ

Table 36. db.stats.retrieveAllAnonymized() Admin Only

Description

Retrieve all available statistical data about the current database, in an anonymized form.

Signature

db.stats.retrieveAllAnonymized(graphToken :: STRING, config = {} :: MAP) :: (section :: STRING, data :: MAP)

Mode

READ

Table 37. db.stats.status() Admin Only

Description

Retrieve the status of all available collector daemons, for this database.

Signature

db.stats.status() :: (section :: STRING, status :: STRING, data :: MAP)

Mode

READ

Table 38. db.stats.stop() Admin Only

Description

Stop data collection of a given data section.

Valid sections are 'QUERIES'

Signature

db.stats.stop(section :: STRING) :: (section :: STRING, success :: BOOLEAN, message :: STRING)

Mode

READ

Table 39. dbms.checkConfigValue() Admin Only Enterprise Edition

Description

This procedure provides feedback about the validity of a setting value. It does not change the setting.

The procedure returns:

  • valid: if the value is valid. A valid value for a non-dynamic setting requires a restart.

  • message: a message describing the reason for the invalidity. The message is empty if the value is valid and the setting is dynamic.

Signature

dbms.checkConfigValue(setting :: STRING, value :: STRING) :: (valid :: BOOLEAN, message :: STRING)

Mode

DBMS

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.

Table 40. dbms.cluster.setAutomaticallyEnableFreeServers() Enterprise Edition Admin Only

Description

With this method you can set whether free servers are automatically enabled.

Signature

dbms.cluster.setAutomaticallyEnableFreeServers(autoEnable :: BOOLEAN)

Mode

WRITE

Table 41. dbms.cluster.checkConnectivity() Enterprise Edition Admin Only

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

dbms.cluster.checkConnectivity(port-name = null :: STRING, server = null :: STRING) :: (serverId :: STRING, mode-constraint :: STRING, port-name :: STRING, port-address :: STRING, result :: STRING)

Mode

DBMS

Table 42. dbms.cluster.cordonServer() Enterprise Edition Admin Only

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

dbms.cluster.cordonServer(server :: STRING)

Mode

WRITE

Table 43. dbms.cluster.routing.getRoutingTable()

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 getRoutingTable requests.

Signature

dbms.cluster.routing.getRoutingTable(context :: MAP, database = null :: STRING) :: (ttl :: INTEGER, servers :: LIST<MAP>)

Mode

DBMS

Table 44. dbms.cluster.protocols() Enterprise Edition

Description

Overview of installed protocols.

Signature

dbms.cluster.protocols() :: (orientation :: STRING, remoteAddress :: STRING, applicationProtocol :: STRING, applicationProtocolVersion :: INTEGER, modifierProtocols :: STRING)

Mode

DBMS

Table 45. dbms.cluster.readReplicaToggle() Enterprise Edition Admin Only Deprecated in 5.6

Description

The toggle can pause or resume read replica (deprecated in favor of dbms.cluster.secondaryReplicationDisable)

Signature

dbms.cluster.readReplicaToggle(databaseName :: STRING, pause :: BOOLEAN) :: (state :: STRING)

Mode

DBMS

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:

  1. Connect directly to the server hosting the database in secondary mode. (Neo4j Driver use bolt:// or use the HTTP API).

  2. Pause transaction pulling for the specified database.

  3. Back up the database, see Back up an online database.

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.

Pause transaction pulling for database neo4j
CALL dbms.cluster.readReplicaToggle("neo4j", true)
Resume transaction pulling for database neo4j
CALL dbms.cluster.readReplicaToggle("neo4j", false)
Table 46. dbms.cluster.secondaryReplicationDisable() Enterprise Edition Admin Only Introduced in 5.6

Description

The toggle can pause or resume the secondary replication process.

Signature

dbms.cluster.secondaryReplicationDisable(databaseName :: STRING, pause :: BOOLEAN) :: (state :: STRING)

Mode

DBMS

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:

  1. Connect directly to the server hosting the database in secondary mode. (Neo4j Driver use bolt:// or use the HTTP API).

  2. Pause transaction pulling for the specified database.

  3. Back up the database, see Back up an online database.

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.

Pause transaction pulling for database neo4j
CALL dbms.cluster.secondaryReplicationDisable("neo4j", true)
Resume transaction pulling for database neo4j
CALL dbms.cluster.secondaryReplicationDisable("neo4j", false)
Table 47. dbms.cluster.uncordonServer() Enterprise Edition Admin Only

Description

Remove the cordon on a server, returning it to 'enabled'.

Signature

dbms.cluster.uncordonServer(server :: STRING)

Mode

WRITE

Table 48. dbms.components()

Description

List DBMS components and their versions.

Signature

dbms.components() :: (name :: STRING, versions :: LIST<STRING>, edition :: STRING)

Mode

DBMS

Table 49. dbms.info()

Description

Provides information regarding the DBMS.

Signature

dbms.info() :: (id :: STRING, name :: STRING, creationDate :: STRING)

Mode

DBMS

Table 50. dbms.killConnection()

Description

Kill network connection with the given connection id.

Signature

dbms.killConnection(id :: STRING) :: (connectionId :: STRING, username :: STRING, message :: STRING)

Mode

DBMS

Table 51. dbms.killConnections()

Description

Kill all network connections with the given connection ids.

Signature

dbms.killConnections(ids :: LIST<STRING>) :: (connectionId :: STRING, username :: STRING, message :: STRING)

Mode

DBMS

Table 52. dbms.listActiveLocks() Enterprise Edition

Description

List the active lock requests granted for the transaction executing the query with the given query id.

Signature

dbms.listActiveLocks(queryId :: STRING) :: (mode :: STRING, resourceType :: STRING, resourceId :: INTEGER)

Mode

DBMS

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.

Table 53. dbms.listCapabilities()

Description

List capabilities.

Signature

dbms.listCapabilities() :: (name :: STRING, description :: STRING, value :: ANY)

Mode

DBMS

Table 54. dbms.listConfig() Admin Only

Description

List the currently active configuration settings of Neo4j.

Signature

dbms.listConfig(searchString = :: STRING) :: (name :: STRING, description :: STRING, value :: STRING, dynamic :: BOOLEAN, defaultValue :: STRING, startupValue :: STRING, explicitlySet :: BOOLEAN, validValues :: STRING)

Mode

DBMS

Table 55. dbms.listConnections()

Description

List all accepted network connections at this instance that are visible to the user.

Signature

dbms.listConnections() :: (connectionId :: STRING, connectTime :: STRING, connector :: STRING, username :: STRING, userAgent :: STRING, serverAddress :: STRING, clientAddress :: STRING)

Mode

DBMS

Table 56. dbms.listPools() Enterprise Edition

Description

List all memory pools, including sub pools, currently registered at this instance that are visible to the user.

Signature

dbms.listPools() :: (pool :: STRING, databaseName :: STRING, heapMemoryUsed :: STRING, heapMemoryUsedBytes :: STRING, nativeMemoryUsed :: STRING, nativeMemoryUsedBytes :: STRING, freeMemory :: STRING, freeMemoryBytes :: STRING, totalPoolMemory :: STRING, totalPoolMemoryBytes :: STRING)

Mode

DBMS

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.

Table 57. dbms.quarantineDatabase() Enterprise Edition Admin Only

Description

Place a database into quarantine or remove it from it.

Signature

dbms.quarantineDatabase(databaseName :: STRING, setStatus :: BOOLEAN, reason = No reason given :: STRING) :: (databaseName :: STRING, quarantined :: BOOLEAN, result :: STRING)

Mode

DBMS

Table 58. dbms.queryJmx()

Description

Query JMX management data by domain and name. For instance, use : to find all JMX beans.

Signature

dbms.queryJmx(query :: STRING) :: (name :: STRING, description :: STRING, attributes :: MAP)

Mode

DBMS

Table 59. dbms.routing.getRoutingTable()

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 getRoutingTable requests.

Signature

dbms.routing.getRoutingTable(context :: MAP, database = null :: STRING) :: (ttl :: INTEGER, servers :: LIST<MAP>)

Mode

DBMS

Table 60. dbms.setDatabaseAllocator() Enterprise Edition Admin Only

Description

With this method, you can set the allocator that is responsible for selecting servers for hosting databases.

Signature

dbms.setDatabaseAllocator(allocator :: STRING)

Mode

WRITE

Table 61. dbms.setDefaultAllocationNumbers() Enterprise Edition Admin Only

Description

With this method you can set the default number of primaries and secondaries.

Signature

dbms.setDefaultAllocationNumbers(primaries :: INTEGER, secondaries :: INTEGER)

Mode

WRITE

Table 62. dbms.setDefaultDatabase() Enterprise Edition Admin Only

Description

Change the default database to the provided value. The database must exist and the old default database must be stopped.

Signature

dbms.setDefaultDatabase(databaseName :: STRING) :: (result :: STRING)

Mode

WRITE

Table 63. dbms.scheduler.failedJobs() Enterprise Edition Admin Only

Description

List failed job runs. There is a limit for amount of historical data.

Signature

dbms.scheduler.failedJobs() :: (jobId :: STRING, group :: STRING, database :: STRING, submitter :: STRING, description :: STRING, type :: STRING, submitted :: STRING, executionStart :: STRING, failureTime :: STRING, failureDescription :: STRING)

Mode

DBMS

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.

Table 64. dbms.scheduler.groups() Enterprise Edition Admin Only

Description

List the job groups that are active in the database internal job scheduler.

Signature

dbms.scheduler.groups() :: (group :: STRING, threads :: INTEGER)

Mode

DBMS

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.

Table 65. dbms.scheduler.jobs() Enterprise Edition Admin Only

Description

List all jobs that are active in the database internal job scheduler.

Signature

dbms.scheduler.jobs() :: (jobId :: STRING, group :: STRING, submitted :: STRING, database :: STRING, submitter :: STRING, description :: STRING, type :: STRING, scheduledAt :: STRING, period :: STRING, state :: STRING, currentStateDescription :: STRING)

Mode

DBMS

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.

Table 66. dbms.security.clearAuthCache() Enterprise Edition Admin Only

Description

Clears authentication and authorization cache.

Signature

dbms.security.clearAuthCache()

Mode

DBMS

Table 67. dbms.setConfigValue() Enterprise Edition Admin Only

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, dbms.setConfigValue affects only the cluster member it is run against.

Signature

dbms.setConfigValue(setting :: STRING, value :: STRING)

Mode

DBMS

Table 68. dbms.showCurrentUser()

Description

Show the current user.

Signature

dbms.showCurrentUser() :: (username :: STRING, roles :: LIST<STRING>, flags :: LIST<STRING>)

Mode

DBMS

Table 69. dbms.showTopologyGraphConfig() Enterprise Only Admin Only

Description

With this method the configuration of the Topology Graph can be displayed.

Signature

dbms.showTopologyGraphConfig() :: (allocator :: STRING, defaultPrimariesCount :: INTEGER, defaultSecondariesCount :: INTEGER, defaultDatabase :: STRING, autoEnableFreeServers :: BOOLEAN)

Mode

READ

Table 70. dbms.upgrade() Admin Only Deprecated in 5.9

Description

Upgrade the system database schema if it is not the current schema.

Signature

dbms.upgrade() :: (status :: STRING, upgradeResult :: STRING)

Mode

WRITE

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.

Table 71. dbms.upgradeStatus() Admin Only Deprecated in 5.9

Description

Report the current status of the system database sub-graph schema.

Signature

dbms.upgradeStatus() :: (status :: STRING, description :: STRING, resolution :: STRING)

Mode

READ

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.

Table 72. tx.getMetaData()

Description

Provides attached transaction metadata.

Signature

tx.getMetaData() :: (metadata :: MAP)

Mode

DBMS

Table 73. tx.setMetaData()

Description

Attaches a map of data to the transaction. The data will be printed when listing queries, and inserted into the query log.

Signature

tx.setMetaData(data :: MAP)

Mode

DBMS