过程

此页面提供了 Neo4j 过程的完整参考。可用的过程取决于您拥有的安装类型。

  • Neo4j Enterprise Edition 提供的程序集比 Neo4j Community Edition 更大。

  • 集群成员拥有在独立模式下不可用的过程。

要检查 Neo4j DBMS 中可用的过程,请使用 Cypher 命令 SHOW PROCEDURES

示例 1. 列出可用的过程
SHOW PROCEDURES

某些过程只能由具有 Admin 权限的用户运行。具体来说,要么是 EXECUTE ADMIN PROCEDURES 权限,要么是 EXECUTE PROCEDURESEXECUTE BOOSTED PROCEDURES 权限。这些过程用 仅限管理员 标记。

有关更多信息,请参阅 EXECUTE 权限部分

过程列表

表 1. Neo4j 过程
名称 社区版 企业版 注释

db.cdc.current()

在 5.17 中引入 Beta

db.cdc.earliest()

在 5.17 中引入 Beta

db.cdc.query()

在 5.17 中引入 Beta 仅限管理员

db.awaitIndex()

db.awaitIndexes()

db.checkpoint()

db.clearQueryCaches()

仅限管理员

db.create.setNodeVectorProperty()

在 5.13 中引入 Beta

db.create.setRelationshipVectorProperty()

在 5.18 中引入 Beta

db.createLabel()

db.createProperty()

db.createRelationshipType()

db.index.fulltext.awaitEventuallyConsistentIndexRefresh()

db.index.fulltext.listAvailableAnalyzers()

db.index.fulltext.queryNodes()

在 4.1 中,签名更改为 db.index.fulltext.queryNodes(indexName :: STRING, queryString :: STRING, options = {} :: MAP) :: (node :: NODE, score :: FLOAT)

db.index.fulltext.queryRelationships()

在 4.1 中,签名更改为 db.index.fulltext.queryRelationships(indexName :: STRING, queryString :: STRING, options = {} :: MAP) :: (relationship :: RELATIONSHIP, score :: FLOAT)

db.index.vector.createNodeIndex()

在 5.11 中引入 Beta 直到 5.13 已被替换为:CREATE VECTOR INDEX …​

db.index.vector.queryNodes()

在 5.11 中引入 Beta 直到 5.13

db.index.vector.queryRelationships()

在 5.18 中引入

db.info()

db.labels()

db.listLocks()

仅限管理员
在 4.2 中,签名更改为 db.listLocks() :: (mode :: STRING, resourceType :: STRING, resourceId :: INTEGER, transactionId :: STRING)

db.ping()

db.prepareForReplanning()

仅限管理员

db.propertyKeys()

db.relationshipTypes()

db.resampleIndex()

db.resampleOutdatedIndexes()

db.schema.nodeTypeProperties()

db.schema.relTypeProperties()

db.schema.visualization()

db.stats.clear()

仅限管理员

db.stats.collect()

仅限管理员

db.stats.retrieve()

仅限管理员

db.stats.retrieveAllAnonymized()

仅限管理员

db.stats.status()

仅限管理员

db.stats.stop()

仅限管理员

dbms.checkConfigValue()

在 5.0 中引入 仅限管理员

dbms.cluster.setAutomaticallyEnableFreeServers()

在 Neo4j 5.23 之前,此过程只能使用 Admin 权限运行。

dbms.cluster.checkConnectivity()

仅限管理员

dbms.cluster.cordonServer()

在 Neo4j 5.23 之前,此过程只能使用 Admin 权限运行。

dbms.cluster.protocols()

dbms.cluster.secondaryReplicationDisable()

在 5.6 中引入 仅限管理员

dbms.cluster.switchDiscoveryServiceVersion()

在 5.22 中引入 仅限管理员

dbms.cluster.showParallelDiscoveryState()

在 5.22 中引入 仅限管理员

dbms.cluster.deallocateDatabaseFromServer()

在 5.23 中引入 仅限 SERVER MANAGEMENT 权限

dbms.cluster.deallocateDatabaseFromServers()

在 5.23 中引入 仅限 SERVER MANAGEMENT 权限

dbms.cluster.deallocateNumberOfDatabases()

在 5.23 中引入 仅限 SERVER MANAGEMENT 权限

dbms.cluster.reallocateDatabase()

在 5.23 中引入 仅限 SERVER MANAGEMENT 权限

dbms.cluster.reallocateNumberOfDatabases()

在 5.23 中引入 仅限 SERVER MANAGEMENT 权限

dbms.cluster.recreateDatabase()

在 5.24 中引入

dbms.cluster.statusCheck()

在 5.24 中引入 仅限管理员

dbms.components()

dbms.info()

dbms.killConnection()

dbms.killConnections()

dbms.listActiveLocks()

dbms.listCapabilities()

dbms.listConfig()

仅限管理员

dbms.listConnections()

dbms.listPools()

dbms.quarantineDatabase()

仅限管理员

dbms.queryJmx()

dbms.routing.getRoutingTable()

dbms.scheduler.failedJobs()

仅限管理员

dbms.scheduler.groups()

仅限管理员

dbms.scheduler.jobs()

仅限管理员

dbms.security.clearAuthCache()

仅限管理员

dbms.setConfigValue()

仅限管理员 Aura 上不可用

dbms.setDatabaseAllocator()

仅限管理员

dbms.setDefaultAllocationNumbers()

仅限管理员

dbms.setDefaultDatabase()

仅限管理员

dbms.showCurrentUser()

dbms.showTopologyGraphConfig()

仅限管理员

genai.vector.listEncodingProviders()

在 5.19 中引入

genai.vector.encodeBatch()

在 5.17 中引入

tx.getMetaData()

tx.setMetaData()

已弃用过程列表

表 2. 已弃用的 Neo4j 过程
名称 社区版 企业版 注释

cdc.current()

在 5.13 中引入 Beta 在 5.17 中弃用 已被替换为:db.cdc.current()

cdc.earliest()

在 5.13 中引入 Beta 在 5.17 中弃用 已被替换为:db.cdc.earliest()

cdc.query()

在 5.13 中引入 Beta 仅限管理员 在 5.17 中弃用 已被替换为:db.cdc.query()

db.create.setVectorProperty()

在 5.11 中引入 Beta 在 5.13 中弃用 已被替换为:db.create.setNodeVectorProperty()

dbms.cluster.readReplicaToggle()

仅限管理员 在 5.6 中弃用
已被替换为:dbms.cluster.secondaryReplicationDisable()

dbms.cluster.routing.getRoutingTable()

在 5.21 中弃用.
已被替换为:dbms.routing.getRoutingTable()

dbms.cluster.uncordonServer()

在 5.23 中弃用.
在 Neo4j 5.23 之前,此过程只能使用 Admin 权限运行。
已被替换为 ENABLE SERVER

dbms.setDatabaseAllocator()

仅限管理员 在 5.23 中弃用

dbms.upgrade()

仅限管理员 在 5.9 中弃用

dbms.upgradeStatus()

仅限管理员 在 5.9 中弃用

已移除过程列表

表 3. Neo4j 5.0 中已移除的过程
名称 社区版 企业版 已被替换为

db.constraints()

SHOW CONSTRAINTS

db.createIndex()

CREATE INDEX

db.createNodeKey()

CREATE CONSTRAINT …​ IS NODE KEY

db.createUniquePropertyConstraint()

CREATE CONSTRAINT …​ IS UNIQUE

db.indexes()

SHOW INDEXES

db.indexDetails()

SHOW INDEXES YIELD*

db.index.fulltext.createNodeIndex()

CREATE FULLTEXT INDEX …​

db.index.fulltext.createRelationshipIndex()

CREATE FULLTEXT INDEX …​

db.index.fulltext.drop()

DROP INDEX …​

db.schemaStatements()

SHOW INDEXES YIELD *SHOW CONSTRAINTS YIELD *

dbms.cluster.overview()

SHOW SERVERS

dbms.cluster.quarantineDatabase()

dbms.quarantineDatabase()

dbms.cluster.role()

SHOW DATABASES

dbms.cluster.setDefaultDatabase()

dbms.setDefaultDatabase

dbms.database.state()

SHOW DATABASES

dbms.functions()

SHOW FUNCTIONS

dbms.killQueries()

TERMINATE TRANSACTIONS

dbms.killQuery()

TERMINATE TRANSACTIONS

dbms.killTransaction()

TERMINATE TRANSACTIONS

dbms.killTransactions()

TERMINATE TRANSACTIONS

dbms.listQueries()

SHOW TRANSACTIONS

dbms.listTransactions()

SHOW TRANSACTIONS

dbms.procedures()

SHOW PROCEDURES

dbms.security.activateUser()

ALTER USER

dbms.security.addRoleToUser()

GRANT ROLE TO USER

dbms.security.changePassword()

ALTER CURRENT USER SET PASSWORD

dbms.security.changeUserPassword()

ALTER USER

dbms.security.createRole()

CREATE ROLE

dbms.security.createUser()

CREATE USER

dbms.security.deleteRole()

DROP ROLE

dbms.security.deleteUser()

DROP USER

dbms.security.listRoles()

SHOW ROLES

dbms.security.listRolesForUser()

SHOW USERS

dbms.security.listUsers()

SHOW USERS

dbms.security.listUsersForRole()

SHOW ROLES WITH USERS

dbms.security.removeRoleFromUser()

REVOKE ROLE FROM USER

dbms.security.suspendUser()

ALTER USER

过程描述

表 4. cdc.current()

描述

返回可用于从中流式传输更改的当前更改标识符。

签名

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

模式

读取

已被替换为

表 5. cdc.earliest()

描述

返回可用于从中流式传输更改的最早更改标识符。

签名

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

模式

读取

已被替换为

表 6. cdc.query()

描述

查询从提供的更改标识符发生的更改。

签名

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

模式

读取

已被替换为

表 7. db.cdc.current()

描述

返回可用于从中流式传输更改的当前更改标识符。

签名

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

模式

读取

表 8. db.cdc.earliest()

描述

返回可用于从中流式传输更改的最早更改标识符。

签名

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

模式

读取

表 9. db.cdc.query()

描述

查询从提供的更改标识符发生的更改。

签名

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

模式

读取

表 10. db.awaitIndex()

描述

等待索引上线(例如:CALL db.awaitIndex("MyIndex", 300))。

签名

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

模式

读取

此过程不被认为是从多个线程安全运行。因此,它不受并行运行时(在 Neo4j 5.13 中引入)的支持。有关更多信息,请参阅 Cypher 手册→并行运行时

表 11. db.awaitIndexes()

描述

等待所有索引上线(例如:CALL db.awaitIndexes(300))。

签名

db.awaitIndexes(timeOutSeconds = 300 :: INTEGER)

模式

读取

此过程不被认为是从多个线程安全运行。因此,它不受并行运行时(在 Neo4j 5.13 中引入)的支持。有关更多信息,请参阅 Cypher 手册→并行运行时

表 12. db.checkpoint()

描述

启动并等待新的检查点,或等待任何正在进行的检查点完成。

请注意,这会暂时禁用 db.checkpoint.iops.limit 设置以使检查点更快地完成。由于 IO 负载增加,这可能会导致事务吞吐量略有下降。

签名

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

模式

DBMS

此过程不被认为是从多个线程安全运行。因此,它不受并行运行时(在 Neo4j 5.13 中引入)的支持。有关更多信息,请参阅 Cypher 手册→并行运行时

表 13. db.clearQueryCaches()

描述

清除所有查询缓存。

签名

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

模式

DBMS

表 14. db.create.setNodeVectorProperty()

描述

以比 Cypher 的 SET 更节省空间的方式在给定节点上设置向量属性。

签名

db.create.setNodeVectorProperty(node :: NODE, key :: STRING, vector :: ANY)

模式

写入

已知问题

来自 SHOW PROCEDURES 的过程签名将向量参数的类型呈现为 ANY 而不是语义上正确的 LIST<INTEGER | FLOAT> 类型。这些类型仍然被强制为 LIST<INTEGER | FLOAT>

表 15. db.create.setRelationshipVectorProperty()

描述

以比 Cypher 的 SET 更节省空间的方式在给定关系上设置向量属性。

签名

db.create.setRelationshipVectorProperty(relationship :: RELATIONSHIP, key :: STRING, vector :: ANY)

模式

写入

已知问题

来自 SHOW PROCEDURES 的过程签名将向量参数的类型呈现为 ANY 而不是语义上正确的 LIST<INTEGER | FLOAT> 类型。这些类型仍然被强制为 LIST<INTEGER | FLOAT>

表 16. db.create.setVectorProperty()

描述

以比 Cypher 的 SET 更节省空间的方式在给定节点上设置向量属性。

签名

db.create.setVectorProperty(node :: NODE, key :: STRING, vector :: ANY) :: (node :: NODE)

模式

写入

已被替换为

已知问题

来自 SHOW PROCEDURES 的过程签名将向量参数的类型呈现为 ANY 而不是语义上正确的 LIST<INTEGER | FLOAT> 类型。这些类型仍然被强制为 LIST<INTEGER | FLOAT>

表 17. db.createLabel()

描述

创建标签

签名

db.createLabel(newLabel :: STRING)

模式

写入

表 18. db.createProperty()

描述

创建属性

签名

db.createProperty(newProperty :: STRING)

模式

写入

表 19. db.createRelationshipType()

描述

创建关系类型

签名

db.createRelationshipType(newRelationshipType :: STRING)

模式

写入

表 20. db.index.fulltext.awaitEventuallyConsistentIndexRefresh()

描述

等待最近提交的事务的更新应用于任何最终一致的全文本索引。

签名

db.index.fulltext.awaitEventuallyConsistentIndexRefresh()

模式

读取

表 21. db.index.fulltext.listAvailableAnalyzers()

描述

列出可用的分析器,全文本索引可以使用这些分析器进行配置。

签名

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

模式

读取

表 22. db.index.fulltext.queryNodes()

描述

查询给定的全文本索引。返回匹配的节点及其 Lucene 查询分数,按分数排序。options 映射的有效键:值对为

  • skip: <number> — 跳过前 N 个结果。

  • limit: <数字> — 用于限制返回的结果数量。

  • analyzer: <字符串> — 使用指定的分析器作为此查询的搜索分析器。

options 映射和任何键都是可选的。options 映射的一个示例:{skip: 30, limit: 10, analyzer: 'whitespace'}

签名

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

模式

读取

表 23. db.index.fulltext.queryRelationships()

描述

查询给定的全文索引。返回匹配的关系及其 Lucene 查询得分,按得分排序。options 映射的有效键值对为

  • skip: <number> — 跳过前 N 个结果。

  • limit: <数字> — 用于限制返回的结果数量。

  • analyzer: <字符串> — 使用指定的分析器作为此查询的搜索分析器。

options 映射和任何键都是可选的。options 映射的一个示例:{skip: 30, limit: 10, analyzer: 'whitespace'}

签名

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

模式

读取

表 24. db.index.vector.createNodeIndex() Beta 版本,直至 5.13

描述

为指定的标签和属性创建命名节点向量索引,并使用给定的向量维度,使用 EUCLIDEAN 或 COSINE 相似度函数。两种相似度函数都区分大小写。使用 db.index.vector.queryNodes 过程查询命名索引。

签名

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

模式

模式

已被替换为

创建向量索引…

表 25. db.index.vector.queryNodes() Beta 版本,直至 5.13

描述

查询给定的向量索引。返回提供给定查询向量的最近邻的数量,以及它们与该查询向量的相似度得分,基于索引配置的相似度函数。相似度得分是 [0, 1] 之间的值;其中 0 表示最不相似,1 表示最相似。

签名

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

模式

读取

已知问题

来自 SHOW PROCEDURES 的过程签名将向量参数的类型呈现为 ANY 而不是语义上正确的 LIST<INTEGER | FLOAT> 类型。这些类型仍然被强制为 LIST<INTEGER | FLOAT>

表 26. db.index.vector.queryRelationships()

描述

查询给定的关系向量索引。返回提供给定查询向量的最近邻的数量,以及它们与该查询向量的相似度得分,基于索引配置的相似度函数。相似度得分是 [0, 1] 之间的值;其中 0 表示最不相似,1 表示最相似。

签名

db.index.vector.queryRelationships(indexName :: STRING, numberOfNearestNeighbours :: INTEGER, query :: ANY) :: (relationship :: RELATIONSHIP, score :: FLOAT)

模式

读取

已知问题

来自 SHOW PROCEDURES 的过程签名将向量参数的类型呈现为 ANY 而不是语义上正确的 LIST<INTEGER | FLOAT> 类型。这些类型仍然被强制为 LIST<INTEGER | FLOAT>

表 27. db.info()

描述

提供有关数据库的信息。

签名

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

模式

读取

此过程不被认为是从多个线程安全运行。因此,它不受并行运行时(在 Neo4j 5.13 中引入)的支持。有关更多信息,请参阅 Cypher 手册→并行运行时

表 28. db.labels()

描述

根据用户的访问权限列出附加到数据库中节点的所有标签。如果用户无权查看这些标签,则过程将返回空结果。

签名

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

模式

读取

此过程不被认为是从多个线程安全运行。因此,它不受并行运行时(在 Neo4j 5.13 中引入)的支持。有关更多信息,请参阅 Cypher 手册→并行运行时

表 29. db.listLocks()

描述

列出此数据库中的所有锁。

签名

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

模式

DBMS

此过程不被认为是从多个线程安全运行。因此,它不受并行运行时(在 Neo4j 5.13 中引入)的支持。有关更多信息,请参阅 Cypher 手册→并行运行时

表 30. db.ping()

描述

客户端工具可以使用此过程来测试它们是否已正确连接到数据库。此过程在所有数据库中都可用,并且始终返回 true。无法调用此过程可以检测到连接故障。

签名

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

模式

读取

此过程不被认为是从多个线程安全运行。因此,它不受并行运行时(在 Neo4j 5.13 中引入)的支持。有关更多信息,请参阅 Cypher 手册→并行运行时

表 31. db.prepareForReplanning()

描述

触发索引重采样并等待其完成,然后清除查询缓存。此过程完成后,将使用最新的数据库统计信息来计划查询。

签名

db.prepareForReplanning(timeOutSeconds = 300 :: INTEGER)

模式

读取

此过程不被认为是从多个线程安全运行。因此,它不受并行运行时(在 Neo4j 5.13 中引入)的支持。有关更多信息,请参阅 Cypher 手册→并行运行时

表 32. db.propertyKeys()

描述

列出数据库中的所有属性键。

签名

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

模式

读取

此过程不被认为是从多个线程安全运行。因此,它不受并行运行时(在 Neo4j 5.13 中引入)的支持。有关更多信息,请参阅 Cypher 手册→并行运行时

表 33. db.relationshipTypes()

描述

根据用户的访问权限列出附加到数据库中关系的所有类型。如果用户无权查看这些关系类型,则过程将返回空结果。

签名

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

模式

读取

此过程不被认为是从多个线程安全运行。因此,它不受并行运行时(在 Neo4j 5.13 中引入)的支持。有关更多信息,请参阅 Cypher 手册→并行运行时

表 34. db.resampleIndex()

描述

安排索引的重采样(例如:CALL db.resampleIndex("MyIndex"))。

签名

db.resampleIndex(indexName :: STRING)

模式

读取

此过程不被认为是从多个线程安全运行。因此,它不受并行运行时(在 Neo4j 5.13 中引入)的支持。有关更多信息,请参阅 Cypher 手册→并行运行时

表 35. db.resampleOutdatedIndexes()

描述

安排所有过时索引的重采样。

签名

db.resampleOutdatedIndexes()

模式

读取

此过程不被认为是从多个线程安全运行。因此,它不受并行运行时(在 Neo4j 5.13 中引入)的支持。有关更多信息,请参阅 Cypher 手册→并行运行时

表 36. db.schema.nodeTypeProperties()

描述

以表格形式显示节点的派生属性模式。

签名

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

模式

读取

此过程不被认为是从多个线程安全运行。因此,它不受并行运行时(在 Neo4j 5.13 中引入)的支持。有关更多信息,请参阅 Cypher 手册→并行运行时

表 37. db.schema.relTypeProperties()

描述

以表格形式显示关系的派生属性模式。

签名

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

模式

读取

此过程不被认为是从多个线程安全运行。因此,它不受并行运行时(在 Neo4j 5.13 中引入)的支持。有关更多信息,请参阅 Cypher 手册→并行运行时

表 38. db.schema.visualization()

描述

根据可用的统计信息可视化数据的模式。每个标签都会返回一个新节点。节点上表示的属性包括:名称(标签名称)、索引(索引列表)和约束(约束列表)。对于所有可能的起始节点和结束节点组合,都会返回给定类型的关系。关系上表示的属性包括:名称(类型名称)。请注意,由于计数存储中提供的信息,这可能包括数据中不存在的其他关系。

签名

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

模式

读取

此过程不被认为是从多个线程安全运行。因此,它不受并行运行时(在 Neo4j 5.13 中引入)的支持。有关更多信息,请参阅 Cypher 手册→并行运行时

表 39. db.stats.clear()

描述

清除给定数据部分的收集数据。

有效部分为 'QUERIES'

签名

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

模式

读取

表 40. db.stats.collect()

描述

开始收集给定数据部分的数据。

有效部分为 'QUERIES'

签名

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

模式

读取

表 41. db.stats.retrieve()

描述

检索有关当前数据库的统计数据。

有效部分为 'GRAPH COUNTS', 'TOKENS', 'QUERIES', 'META'

签名

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

模式

读取

表 42. db.stats.retrieveAllAnonymized()

描述

以匿名形式检索有关当前数据库的所有可用统计数据。

签名

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

模式

读取

表 43. db.stats.status()

描述

检索此数据库所有可用收集器守护程序的状态。

签名

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

模式

读取

表 44. db.stats.stop()

描述

停止收集给定数据部分的数据。

有效部分为 'QUERIES'

签名

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

模式

读取

表 45. dbms.checkConfigValue()

描述

此过程提供有关设置值有效性的反馈。它不会更改设置。

此过程返回

  • valid:如果值有效。非动态设置的有效值需要重新启动。

  • message:描述无效原因的消息。如果值为 valid 且设置是动态的,则消息为空。

签名

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

模式

DBMS

此过程不被认为是从多个线程安全运行。因此,它不受并行运行时(在 Neo4j 5.13 中引入)的支持。有关更多信息,请参阅 Cypher 手册→并行运行时

表 46. dbms.cluster.setAutomaticallyEnableFreeServers()

描述

使用此方法可以设置是否自动启用空闲服务器。

签名

dbms.cluster.setAutomaticallyEnableFreeServers(autoEnable :: BOOLEAN)

模式

写入

在 Neo4j 5.23 之前,只有具有 Admin 权限的用户才能运行 dbms.cluster.setAutomaticallyEnableFreeServers() 过程。从 Neo4j 5.23 开始,可以使用 SERVER MANAGEMENT 权限运行它。它仍然可以使用 Admin 权限运行,但这应该被视为已弃用。

表 47. dbms.cluster.checkConnectivity()

描述

检查此实例与其他集群成员的连接性。并非所有端口都与所有成员相关。'port-name' 的有效值为:[CLUSTER, RAFT]。

签名

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

模式

DBMS

表 48. dbms.cluster.cordonServer()

描述

将拓扑中的服务器标记为不适合新的分配。它不会强制当前分配离开服务器。当您有多个不可用的服务器时,在释放数据库时这很有用。

签名

dbms.cluster.cordonServer(server :: STRING)

模式

写入

在 Neo4j 5.23 之前,只有具有 Admin 权限的用户才能运行 dbms.cluster.cordonServer() 过程。从 Neo4j 5.23 开始,可以使用 SERVER MANAGEMENT 权限运行它。它仍然可以使用 Admin 权限运行,但这应该被视为已弃用。

表 49. dbms.cluster.routing.getRoutingTable()

描述

返回给定数据库的已公布的 bolt 兼容端点,并按每个端点的功能划分。例如,一个端点可以服务读取查询、写入查询和/或将来的 getRoutingTable 请求。

签名

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

模式

DBMS

表 50. dbms.cluster.protocols()

描述

已安装协议的概述。

签名

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

模式

DBMS

表 51. dbms.cluster.readReplicaToggle()

描述

切换可以暂停或恢复读取副本(已弃用,建议使用 dbms.cluster.secondaryReplicationDisable

签名

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

模式

DBMS

已被替换为

它的用途是什么?

您可以执行某个时间点的备份,因为备份将仅包含直到暂停事务拉取的时间点的事务。请按照以下步骤操作

  1. 直接连接到托管辅助模式下数据库的服务器。(Neo4j 驱动程序使用 bolt:// 或使用 HTTP API)。

  2. 暂停指定数据库的事务拉取。

  3. 备份数据库,请参阅备份在线数据库

如果直接连接到托管辅助模式下数据库的服务器,数据科学家可以在已暂停的特定数据库上执行分析,数据在执行分析时不会意外更改。

此过程只能在已连接服务器上以辅助角色运行的数据库上执行。

暂停数据库 neo4j 的事务拉取
CALL dbms.cluster.readReplicaToggle("neo4j", true)
恢复数据库 neo4j 的事务拉取
CALL dbms.cluster.readReplicaToggle("neo4j", false)
表 52. dbms.cluster.secondaryReplicationDisable()

描述

切换可以暂停或恢复辅助复制过程。

签名

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

模式

DBMS

它的用途是什么?

您可以执行某个时间点的备份,因为备份将仅包含直到暂停事务拉取的时间点的事务。请按照以下步骤操作

  1. 直接连接到托管辅助模式下数据库的服务器。(Neo4j 驱动程序使用 bolt:// 或使用 HTTP API)。

  2. 暂停指定数据库的事务拉取。

  3. 备份数据库,请参阅备份在线数据库

如果直接连接到托管辅助模式下数据库的服务器,数据科学家可以在已暂停的特定数据库上执行分析,数据在执行分析时不会意外更改。

此过程只能在已连接服务器上以辅助角色运行的数据库上执行。

暂停数据库 neo4j 的事务拉取
CALL dbms.cluster.secondaryReplicationDisable("neo4j", true)
恢复数据库 neo4j 的事务拉取
CALL dbms.cluster.secondaryReplicationDisable("neo4j", false)
表 53. dbms.cluster.uncordonServer()

描述

移除服务器上的隔离,将其恢复为“已启用”。

签名

dbms.cluster.uncordonServer(server :: STRING)

模式

写入

已被替换为

在 Neo4j 5.23 之前,只有具有 Admin 权限的用户才能运行 dbms.cluster.uncordonServer() 过程。从 Neo4j 5.23 开始,可以使用 SERVER MANAGEMENT 权限运行它。它仍然可以使用 Admin 权限运行,但这应该被视为已弃用。

表 54. dbms.cluster.switchDiscoveryServiceVersion()

描述

允许您选择应启动哪个发现服务。可能的值为

  • V1_ONLY — 它仅运行发现服务 v1。

  • V1_OVER_V2 — 它运行发现服务 V1 和发现服务 V2,其中 V1 是主要服务,V2 在后台运行。

  • V2_OVER_V1 — 它同时运行 Discovery Service V1 和 Discovery Service V2,其中 V2 是主服务,V1 在后台运行。

  • V2_ONLY — 它仅运行 Discovery Service V2。

签名

dbms.cluster.switchDiscoveryServiceVersion(mode :: STRING)

模式

DBMS

表 55. dbms.cluster.showParallelDiscoveryState()

描述

比较 Discovery Service V1 和 Discovery Service V2 的状态。

签名

dbms.cluster.showParallelDiscoveryState() :: (mode :: STRING, stateComparison :: STRING, v1ServerCount :: STRING, v2ServerCount :: STRING)

模式

DBMS

表 56. dbms.cluster.deallocateDatabaseFromServer()

描述

从特定服务器释放特定用户数据库。

签名

dbms.cluster.deallocateDatabaseFromServer(server :: STRING, database :: STRING, dryrun = false :: BOOLEAN) :: (database :: STRING, fromServerName :: STRING, fromServerId :: STRING, toServerName :: STRING, toServerId :: STRING, mode :: STRING)

模式

写入

此过程需要 SERVER MANAGEMENT 权限。

表 57. dbms.cluster.deallocateDatabaseFromServers()

描述

从服务器列表中释放特定用户数据库。

签名

dbms.cluster.deallocateDatabaseFromServers(servers :: LIST<STRING>, database :: STRING, dryrun = false :: BOOLEAN) :: (database :: STRING, fromServerName :: STRING, fromServerId :: STRING, toServerName :: STRING, toServerId :: STRING, mode :: STRING)

模式

写入

此过程需要 SERVER MANAGEMENT 权限。

表 58. dbms.cluster.deallocateNumberOfDatabases()

描述

从特定服务器释放一定数量的用户数据库。

签名

dbms.cluster.deallocateNumberOfDatabases(server :: STRING, number :: INTEGER, dryrun = false :: BOOLEAN) :: (database :: STRING, fromServerName :: STRING, fromServerId :: STRING, toServerName :: STRING, toServerId :: STRING, mode :: STRING)

模式

写入

此过程需要 SERVER MANAGEMENT 权限。

表 59. dbms.cluster.reallocateDatabase()

描述

重新分配特定数据库。

签名

dbms.cluster.reallocateDatabase(database :: STRING, dryrun = false :: BOOLEAN) :: (database :: STRING, fromServerName :: STRING, fromServerId :: STRING, toServerName :: STRING, toServerId :: STRING, mode :: STRING)

模式

写入

此过程需要 SERVER MANAGEMENT 权限。

表 60. dbms.cluster.reallocateNumberOfDatabases()

描述

重新分配指定数量的用户数据库。

签名

dbms.cluster.reallocateNumberOfDatabases(number :: INTEGER, dryrun = false :: BOOLEAN) :: (database :: STRING, fromServerName :: STRING, fromServerId :: STRING, toServerName :: STRING, toServerId :: STRING, mode :: STRING)

模式

写入

此过程需要 SERVER MANAGEMENT 权限。

表 61. dbms.cluster.recreateDatabase()

描述

重新创建数据库,同时保留所有 RBAC 设置。此过程会启动一个进程,完成后将同步并启动集群中的所有数据库实例。

签名

dbms.cluster.recreateDatabase(database :: STRING, options = {} :: MAP)

模式

写入

表 62. dbms.cluster.statusCheck()

描述

执行 Raft 状态检查。

签名

dbms.cluster.statusCheck(databases :: LIST<STRING>, timeoutMilliseconds = null :: INTEGER) :: (database :: STRING, serverId :: STRING, serverName :: STRING, address :: STRING, replicationSuccessful :: BOOLEAN, memberStatus :: STRING, recognisedLeader :: STRING, recognisedLeaderTerm :: INTEGER, requester :: BOOLEAN, error :: STRING)

模式

DBMS

表 63. dbms.components()

描述

列出 DBMS 组件及其版本。

签名

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

模式

DBMS

表 64. dbms.info()

描述

提供有关 DBMS 的信息。

签名

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

模式

DBMS

表 65. dbms.killConnection()

描述

终止具有给定连接 ID 的网络连接。

签名

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

模式

DBMS

表 66. dbms.killConnections()

描述

终止具有给定连接 ID 的所有网络连接。

签名

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

模式

DBMS

表 67. dbms.listActiveLocks()

描述

列出为使用给定查询 ID 执行查询的事务授予的活动锁请求。

签名

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

模式

DBMS

此过程不被认为是从多个线程安全运行。因此,它不受并行运行时(在 Neo4j 5.13 中引入)的支持。有关更多信息,请参阅 Cypher 手册→并行运行时

表 68. dbms.listCapabilities()

描述

列出功能。

签名

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

模式

DBMS

表 69. dbms.listConfig()

描述

列出 Neo4j 当前活动的配置设置。

签名

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

模式

DBMS

表 70. dbms.listConnections()

描述

列出此实例中用户可见的所有已接受的网络连接。

签名

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

模式

DBMS

表 71. dbms.listPools()

描述

列出此实例中用户可见的所有内存池(包括子池)。

签名

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

模式

DBMS

此过程不被认为是从多个线程安全运行。因此,它不受并行运行时(在 Neo4j 5.13 中引入)的支持。有关更多信息,请参阅 Cypher 手册→并行运行时

表 72. dbms.quarantineDatabase()

描述

将数据库置于隔离状态或将其从隔离状态中移除。

签名

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

模式

DBMS

表 73. dbms.queryJmx()

描述

根据域和名称查询 JMX 管理数据。例如,使用 : 查找所有 JMX bean。

签名

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

模式

DBMS

表 74. dbms.routing.getRoutingTable()

描述

返回给定数据库的已发布 Bolt 兼容端点,按每个端点的功能划分。例如,端点可以服务读取查询、写入查询和/或将来的 getRoutingTable 请求。

签名

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

模式

DBMS

表 75. dbms.setDatabaseAllocator()

描述

使用此方法,您可以设置负责选择托管数据库的服务器的分配器。

签名

dbms.setDatabaseAllocator(allocator :: STRING)

模式

写入

表 76. dbms.setDefaultAllocationNumbers()

描述

使用此方法,您可以设置主服务器和从服务器的默认数量。

签名

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

模式

写入

表 77. dbms.setDefaultDatabase()

描述

将默认数据库更改为提供的 value。数据库必须存在,并且必须停止旧的默认数据库。

签名

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

模式

写入

表 78. dbms.scheduler.failedJobs()

描述

列出失败的作业运行。历史数据量有限制。

签名

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

模式

DBMS

此过程不被认为是从多个线程安全运行。因此,它不受并行运行时(在 Neo4j 5.13 中引入)的支持。有关更多信息,请参阅 Cypher 手册→并行运行时

表 79. dbms.scheduler.groups()

描述

列出数据库内部作业调度程序中处于活动状态的作业组。

签名

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

模式

DBMS

此过程不被认为是从多个线程安全运行。因此,它不受并行运行时(在 Neo4j 5.13 中引入)的支持。有关更多信息,请参阅 Cypher 手册→并行运行时

表 80. dbms.scheduler.jobs()

描述

列出数据库内部作业调度程序中所有处于活动状态的作业。

签名

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)

模式

DBMS

此过程不被认为是从多个线程安全运行。因此,它不受并行运行时(在 Neo4j 5.13 中引入)的支持。有关更多信息,请参阅 Cypher 手册→并行运行时

表 81. dbms.security.clearAuthCache()

描述

清除身份验证和授权缓存。

签名

dbms.security.clearAuthCache()

模式

DBMS

表 82. dbms.setConfigValue()

描述

更新给定的设置值。传递空值会导致删除配置的值并回退到默认值。如果服务器重新启动,更改将不会持久保存并会丢失。在集群环境中,dbms.setConfigValue 仅影响其运行所在的集群成员。

签名

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

模式

DBMS

表 83. dbms.showCurrentUser()

描述

显示当前用户。

签名

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

模式

DBMS

表 84. dbms.showTopologyGraphConfig()

描述

使用此方法可以显示拓扑图的配置。

签名

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

模式

读取

表 85. dbms.upgrade()

描述

如果系统数据库模式不是当前模式,则升级它。

签名

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

模式

写入

此过程不被认为是从多个线程安全运行。因此,它不受并行运行时(在 Neo4j 5.13 中引入)的支持。有关更多信息,请参阅 Cypher 手册→并行运行时

表 86. dbms.upgradeStatus()

描述

报告系统数据库子图模式的当前状态。

签名

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

模式

读取

此过程不被认为是从多个线程安全运行。因此,它不受并行运行时(在 Neo4j 5.13 中引入)的支持。有关更多信息,请参阅 Cypher 手册→并行运行时

表 87. genai.vector.listEncodingProviders()

描述

列出可用的向量嵌入提供程序。

签名

genai.vector.listEncodingProviders() :: (name :: STRING, requiredConfigType :: STRING, optionalConfigType :: STRING, defaultConfig :: MAP)

模式

默认

表 88. genai.vector.encodeBatch()

描述

使用命名提供程序将给定的资源批次编码为向量。对于给定资源 LIST 中的每个元素,这将返回

  • 该 LIST 中的相应“索引”,

  • 原始“资源”元素本身,

  • 以及编码的“向量”。

签名

genai.vector.encodeBatch(resources :: LIST<STRING>, provider :: STRING, configuration = {} :: ANY) :: (index :: INTEGER, resource :: STRING, vector :: ANY)

模式

默认

有关更多信息,请参阅Cypher 手册→生成一批嵌入

已知问题

来自 SHOW PROCEDURES 的过程签名将向量参数的类型呈现为 ANY 而不是语义上正确的 LIST<INTEGER | FLOAT> 类型。这些类型仍然被强制为 LIST<INTEGER | FLOAT>

表 89. tx.getMetaData()

描述

提供附加的事务元数据。

签名

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

模式

DBMS

表 90. tx.setMetaData()

描述

将数据映射附加到事务。列出查询时将打印数据,并将数据插入查询日志。

签名

tx.setMetaData(data :: MAP)

模式

DBMS