存储过程
本页面提供了 Neo4j 内置程序的完整参考。
有关 2025-2026 系列中已变更、已弃用或已移除程序的列表,请参阅 Neo4j 2025-2026 系列中的变更、当前弃用项 以及 Neo4j 2025.01 中的破坏性变更。
服务器上可用的程序取决于多个因素
-
Neo4j 企业版提供的程序集比 Neo4j 社区版更丰富。
-
Neo4j 的 APOC Core 库 和 GenAI 插件 在 Aura 实例上默认安装,但在本地服务器上则需要单独安装。
-
集群成员拥有独立模式下不可用的程序。
要查看您的 Neo4j DBMS 中有哪些程序可用,请使用 Cypher 命令 SHOW PROCEDURES
SHOW PROCEDURES
SHOW PROCEDURES YIELD *
|
某些程序只能由拥有 有关更多信息,请参阅 |
身份验证与授权
有关更多信息,请参阅 身份验证与授权。
dbms.security.clearAuthCache()仅限管理员企业版
语法 |
|
||
描述 |
清除身份验证和授权缓存。 |
||
模式 |
DBMS |
||
后台作业管理
有关更多信息,请参阅 管理后台作业。
dbms.scheduler.failedJobs()仅限管理员企业版
语法 |
|
||
描述 |
列出失败的作业运行。历史数据量存在限制。 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
失败作业的 ID。 |
|
|
|
失败作业的类别。 |
|
|
|
作业失败所在的数据库名称。 |
|
|
|
失败作业的创建者。 |
|
|
|
有关失败作业的信息。 |
|
|
|
失败作业的间隔。 |
|
|
|
失败作业的提交时间。 |
|
|
|
失败作业的开始时间。 |
|
|
|
失败作业的失败时间。 |
|
|
|
有关作业失败的信息。 |
|
模式 |
DBMS |
||
|
此程序在多线程环境中运行并不安全。因此,它不受并行运行时支持。有关更多信息,请参阅 Cypher 手册 → 并行运行时。 |
dbms.scheduler.groups()仅限管理员企业版
语法 |
|
||
描述 |
列出数据库内部作业调度程序中处于活动状态的作业组。 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
作业组名称。 |
|
|
|
该作业组中活动的线程数。 |
|
模式 |
DBMS |
||
|
此程序在多线程环境中运行并不安全。因此,它不受并行运行时支持。有关更多信息,请参阅 Cypher 手册 → 并行运行时。 |
dbms.scheduler.jobs()仅限管理员企业版
语法 |
|
||
描述 |
列出数据库内部作业调度程序中处于活动状态的所有作业。 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
作业的 ID。 |
|
|
|
作业的类别。 |
|
|
|
作业的提交时间。 |
|
|
|
作业所在的数据库名称。 |
|
|
|
作业的创建者。 |
|
|
|
关于作业的信息。 |
|
|
|
作业的间隔。 |
|
|
|
作业的开始时间。 |
|
|
|
定期运行作业的间隔。 |
|
|
|
作业的状态:('EXECUTING', 'SCHEDULED')。 |
|
|
|
作业状态的描述。 |
|
模式 |
DBMS |
||
|
此程序在多线程环境中运行并不安全。因此,它不受并行运行时支持。有关更多信息,请参阅 Cypher 手册 → 并行运行时。 |
变更数据捕获 (CDC)
有关更多信息,请参阅 CDC 文档。
cdc.current()企业版5.17 弃用
语法 |
|
||
描述 |
返回可用于流式传输变更的当前变更标识符。 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
变更标识符。 |
|
模式 |
读取 (READ) |
||
替换为 |
|||
cdc.earliest()企业版5.17 弃用
语法 |
|
||
描述 |
返回可用于流式传输变更的最早变更标识符。 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
变更标识符。 |
|
模式 |
读取 (READ) |
||
替换为 |
|||
cdc.query()仅限管理员企业版5.17 弃用
语法 |
|
||
描述 |
查询从提供的变更标识符开始发生的变更。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
用于查询变更的起始变更标识符。 |
|
|
|
可选的选择器列表,用于过滤变更。 |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
此变更事件的变更标识符。用于继续从该变更事件进行查询。 |
|
|
|
标识变更发生所在事务的数字,与 seq 结合使用是唯一的。 |
|
|
|
用于对同一事务中发生的变更进行排序的数字。 |
|
|
|
导致此变更事件的事务元数据。 |
|
|
|
在受影响实体上检索到的变更。 |
|
模式 |
读取 (READ) |
||
替换为 |
|||
db.cdc.current()企业版
语法 |
|
||
描述 |
返回可用于流式传输变更的当前变更标识符。 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
变更标识符。 |
|
模式 |
读取 (READ) |
||
db.cdc.earliest()企业版
语法 |
|
||
描述 |
返回可用于流式传输变更的最早变更标识符。 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
变更标识符。 |
|
模式 |
读取 (READ) |
||
db.cdc.query()仅限管理员企业版
语法 |
|
||
描述 |
查询从提供的变更标识符开始发生的变更。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
用于查询变更的起始变更标识符。 |
|
|
|
可选的选择器列表,用于过滤变更。 |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
此变更事件的变更标识符。用于继续从该变更事件进行查询。 |
|
|
|
标识变更发生所在事务的数字,与 seq 结合使用是唯一的。 |
|
|
|
用于对同一事务中发生的变更进行排序的数字。 |
|
|
|
导致此变更事件的事务元数据。 |
|
|
|
在受影响实体上检索到的变更。 |
|
模式 |
读取 (READ) |
||
集群管理
有关更多信息,请参阅 集群。
dbms.cluster.checkConnectivity()仅限管理员企业版
语法 |
|
||
描述 |
检查此实例与其他集群成员的连接性。并非所有端口都与所有成员相关。'port-name' 的有效值为:[CLUSTER, INTRA_BOLT, RAFT] |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
端口名称:('CLUSTER', 'RAFT')。 |
|
|
|
要检查连接性的服务器 ID。 |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
被检查服务器的 ID。 |
|
|
|
name :: STRING |
|
|
|
地址 :: STRING |
|
|
|
服务器的实例模式约束。 |
|
|
|
被检查端口的名称。 |
|
|
|
被检查端口的地址。 |
|
|
|
检查是否成功。 |
|
模式 |
DBMS |
||
dbms.cluster.cordonServer()企业版
语法 |
|
||
描述 |
将拓扑中的服务器标记为不适合进行新的分配。它不会强制将当前的分配从服务器上移除。这在拥有多个不可用服务器时进行数据库取消分配非常有用。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
要隔离 (cordon) 的服务器名称或 ID。 |
|
模式 |
写入 (WRITE) |
||
所需权限 |
|
||
|
使用管理员权限运行此程序已弃用。 |
dbms.cluster.deallocateDatabaseFromServer()企业版
语法 |
|
||
描述 |
从特定服务器取消分配特定的用户数据库。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
要从中取消分配的服务器 ID。 |
|
|
|
要取消分配的数据库名称。 |
|
|
|
设置为 |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
数据库名称。 |
|
|
|
服务器名称。 |
|
|
|
服务器 ID。 |
|
|
|
服务器名称。 |
|
|
|
服务器 ID。 |
|
|
|
数据库托管的模式。 |
|
模式 |
写入 (WRITE) |
||
所需权限 |
|
||
dbms.cluster.deallocateDatabaseFromServers()企业版
语法 |
|
||
描述 |
从服务器列表取消分配特定的用户数据库。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
要从中取消分配的服务器 ID。 |
|
|
|
要取消分配的数据库 ID。 |
|
|
|
设置为 |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
数据库名称。 |
|
|
|
服务器名称。 |
|
|
|
服务器 ID。 |
|
|
|
服务器名称。 |
|
|
|
服务器 ID。 |
|
|
|
数据库托管的模式。 |
|
模式 |
写入 (WRITE) |
||
所需权限 |
|
||
dbms.cluster.deallocateNumberOfDatabases()企业版
语法 |
|
||
描述 |
从特定服务器取消分配一定数量的用户数据库。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
要从中取消分配的服务器 ID。 |
|
|
|
要取消分配的数据库数量。 |
|
|
|
设置为 |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
数据库名称。 |
|
|
|
服务器名称。 |
|
|
|
服务器 ID。 |
|
|
|
服务器名称。 |
|
|
|
服务器 ID。 |
|
|
|
数据库托管的模式。 |
|
模式 |
写入 (WRITE) |
||
所需权限 |
|
||
dbms.cluster.protocols()企业版
语法 |
|
||
描述 |
已安装协议概述 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
协议方向(入站或出站)。 |
|
|
|
此协议可用的套接字地址。 |
|
|
|
协议名称。 |
|
|
|
协议版本。 |
|
|
|
已安装的修饰协议,例如压缩。 |
|
模式 |
DBMS |
||
dbms.cluster.readReplicaToggle()仅限管理员企业版5.6 弃用Cypher 25 移除
语法 |
|
||
描述 |
此切换可以暂停或恢复只读副本(已弃用,建议使用 dbms.cluster.secondaryReplicationDisable) |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
要切换辅助复制进程的数据库名称。 |
|
|
|
是否启用/禁用辅助复制进程。 |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
辅助复制进程的当前状态。 |
|
模式 |
DBMS |
||
|
它的用途是什么? 您可以执行时间点备份,因为备份将仅包含暂停事务拉取点之前的事务。请按照以下步骤执行:
如果直接连接到以辅助模式托管数据库的服务器,数据科学家可以在已暂停的特定数据库上执行分析,在分析过程中数据不会意外更改。 |
|
此程序只能在连接服务器上以辅助角色运行的数据库上执行。 |
neo4j 数据库的事务拉取CALL dbms.cluster.readReplicaToggle("neo4j", true)
neo4j 数据库的事务拉取CALL dbms.cluster.readReplicaToggle("neo4j", false)
dbms.cluster.reallocateDatabase()企业版
语法 |
|
||
描述 |
重新分配特定数据库。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
要重新分配的数据库名称。 |
|
|
|
设置为 |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
数据库名称。 |
|
|
|
服务器名称。 |
|
|
|
服务器 ID。 |
|
|
|
服务器名称。 |
|
|
|
服务器 ID。 |
|
|
|
数据库托管的模式。 |
|
模式 |
写入 (WRITE) |
||
所需权限 |
|
||
dbms.cluster.reallocateNumberOfDatabases()企业版
语法 |
|
||
描述 |
重新分配指定数量的用户数据库。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
要重新分配的数据库数量。 |
|
|
|
设置为 |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
数据库名称。 |
|
|
|
服务器名称。 |
|
|
|
服务器 ID。 |
|
|
|
服务器名称。 |
|
|
|
服务器 ID。 |
|
|
|
数据库托管的模式。 |
|
模式 |
写入 (WRITE) |
||
所需权限 |
|
||
dbms.cluster.recreateDatabase()企业版2025.04 弃用
语法 |
|
||
描述 |
重新创建数据库同时保留所有 RBAC 设置。该程序启动一个流程,完成后,集群内的所有数据库实例将完成同步并启动。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
要重新创建的数据库名称。 |
|
|
|
用于重新创建数据库的种子设定和拓扑选项。 |
|
模式 |
写入 (WRITE) |
||
|
在 如果没有定义拓扑选项,数据库将使用先前的拓扑重新创建。 有关如何使用 |
dbms.cluster.routing.getRoutingTable()企业版5.21 弃用
语法 |
|
||
描述 |
返回给定数据库的已通告支持 Bolt 的端点,按每个端点的功能进行划分。例如,端点可以服务读查询、写查询和/或未来的 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
路由上下文,例如路由策略。 |
|
|
|
获取路由表的数据库。 |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
路由表的存活时间(秒)。 |
|
|
|
按是否为读取者、写入者或路由者进行分组的服务器。 |
|
模式 |
DBMS |
||
dbms.cluster.secondaryReplicationDisable()仅限管理员
语法 |
|
||
描述 |
此切换可以暂停或恢复辅助复制进程。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
要切换辅助复制进程的数据库名称。 |
|
|
|
是否启用/禁用辅助复制进程。 |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
辅助复制进程的当前状态。 |
|
模式 |
DBMS |
||
|
它的用途是什么? 您可以执行时间点备份,因为备份将仅包含暂停事务拉取点之前的事务。请按照以下步骤执行:
如果直接连接到以辅助模式托管数据库的服务器,数据科学家可以在已暂停的特定数据库上执行分析,在分析过程中数据不会意外更改。 |
|
此程序只能在连接服务器上以辅助角色运行的数据库上执行。 |
neo4j 数据库的事务拉取CALL dbms.cluster.secondaryReplicationDisable("neo4j", true)
neo4j 数据库的事务拉取CALL dbms.cluster.secondaryReplicationDisable("neo4j", false)
dbms.cluster.setAutomaticallyEnableFreeServers()企业版
语法 |
|
||
描述 |
使用此方法,您可以设置是否自动启用空闲服务器。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
是否自动启用空闲服务器。 |
|
模式 |
写入 (WRITE) |
||
所需权限 |
|
||
|
使用管理员权限运行此程序已弃用。 |
dbms.cluster.statusCheck()仅限管理员企业版
语法 |
|
||
描述 |
执行 Raft 状态检查。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
应运行状态检查的数据库。提供空列表会对该服务器上的所有集群数据库运行状态检查,即它不会在单机或辅助节点上运行。 |
|
|
|
指定在将复制标记为不成功之前等待复制的最大时间。默认值为 1000 毫秒。 |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
复制了状态检查条目的数据库。 |
|
|
|
服务器的 UUID,它是否参与了状态检查条目的成功复制。 |
|
|
|
服务器的友好名称,如果未设置名称,则为其 UUID。 |
|
|
|
服务器 Bolt 端口的地址。 |
|
|
|
指示服务器(运行该程序的服务器)是否可以复制事务。 |
|
|
|
每个主要成员的状态。 |
|
|
|
每个主要成员感知的领导者的服务器 ID。 |
|
|
|
每个主要成员感知的领导者的任期。如果成员报告不同的领导者,则应信任任期最高的那个。 |
|
|
|
服务器是否为请求者。 |
|
|
|
包含错误消息(如果存在)。错误的一个示例是,请求的一个或多个数据库在请求者上不存在。 |
|
模式 |
DBMS |
||
dbms.cluster.uncordonServer()企业版5.23 弃用Cypher 25 移除
语法 |
|
||
描述 |
移除对服务器的隔离,将其恢复为“已启用”。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
要取消隔离的服务器名称或 ID。 |
|
模式 |
写入 (WRITE) |
||
替换为 |
|||
所需权限 |
|
||
|
使用管理员权限运行此程序已弃用。 |
dbms.recreateDatabase()企业版2025.04 引入
语法 |
|
||
描述 |
重新创建数据库同时保留所有 RBAC 设置。该程序启动一个流程,完成后,集群内的所有数据库实例将完成同步并启动。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
要重新创建的数据库名称。 |
|
|
|
用于重新创建数据库的种子设定和拓扑选项。 |
|
模式 |
写入 (WRITE) |
||
|
在 |
dbms.setDefaultAllocationNumbers()仅限管理员企业版
语法 |
|
||
描述 |
使用此方法,您可以设置默认的主要副本、辅助副本和属性分片副本数量。 [1] |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
默认的主要副本数量。 |
|
|
|
默认的辅助副本数量。 |
|
|
|
默认的属性分片副本数量。 |
|
模式 |
写入 (WRITE) |
||
1. 此说明已于 2025.12 更新,并包含了属性分片副本。 | |||
dbms.showTopologyGraphConfig()仅限管理员企业版
语法 |
|
||
描述 |
使用此方法,可以显示拓扑图的配置。 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
分配器的名称。 |
|
|
|
默认的主要副本数量。 |
|
|
|
默认的辅助副本数量。 |
|
|
|
默认数据库的名称。 |
|
|
|
是否自动启用空闲服务器。 |
|
|
|
默认的属性分片副本数量。 |
|
模式 |
读取 (READ) |
||
|
从 Neo4j 2025.04 开始,默认数据库也可以设置为本地或远程数据库别名。 |
配置与 DBMS 信息
有关更多信息,请参阅 配置。
dbms.checkConfigValue()仅限管理员企业版
语法 |
|
||
描述 |
检查潜在的配置设置值是否有效。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
设置名称。 |
|
|
|
要验证的设置值。 |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
设置值是否有效。 |
|
|
|
关于程序结果的详细信息。 |
|
模式 |
DBMS |
||
|
此程序在多线程环境中运行并不安全。因此,它不受并行运行时支持。有关更多信息,请参阅 Cypher 手册 → 并行运行时。 |
dbms.components()
语法 |
|
||
描述 |
列出 DBMS 组件及其版本。 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
组件名称。 |
|
|
|
组件的已安装版本。 |
|
|
|
DBMS 的 Neo4j 版本。 |
|
模式 |
DBMS |
||
|
从 Neo4j 2025.05 开始, |
dbms.info()
语法 |
|
||
描述 |
提供有关 DBMS 的信息。 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
DBMS 的 ID。 |
|
|
|
DBMS 的名称。 |
|
|
|
DBMS 的创建日期。 |
|
模式 |
DBMS |
||
dbms.listCapabilities()
语法 |
|
||
描述 |
列出功能。 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
功能的完整名称(例如 "dbms.instance.version")。 |
|
|
|
功能描述(例如 "此实例正在运行的 Neo4j 版本")。 |
|
|
|
功能对象(如果存在于系统中,例如 "5.20.0")。 |
|
模式 |
DBMS |
||
dbms.listConfig()仅限管理员
语法 |
|
||
描述 |
列出 Neo4j 当前处于活动状态的配置设置。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
过滤配置设置名称的字符串。 |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
设置名称。 |
|
|
|
设置描述。 |
|
|
|
设置的设定值。 |
|
|
|
设置是否可以动态设置。 |
|
|
|
设置的默认值。 |
|
|
|
数据库启动时的设置值。 |
|
|
|
是否显式设置了该设置。 |
|
|
|
有效值的描述。 |
|
模式 |
DBMS |
||
dbms.setConfigValue()仅限管理员企业版Aura 上不可用
语法 |
|
||
描述 |
更新给定的设置值。传递空值会导致移除已配置的值并恢复为默认值。更改不会持久保存,如果服务器重启,更改将丢失。在集群环境中, |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
设置名称。 |
|
|
|
要设置的值。 |
|
模式 |
DBMS |
||
dbms.listPools()企业版
语法 |
|
||
描述 |
列出此实例上当前注册并对用户可见的所有内存池(包括子池)。 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
内存池名称。 |
|
|
|
数据库名称。 |
|
|
|
使用的堆内存量。 |
|
|
|
以字节为单位的已用堆内存量。 |
|
|
|
使用的本地内存量。 |
|
|
|
以字节为单位的已用本地内存量。 |
|
|
|
空闲内存量。 |
|
|
|
以字节为单位的空闲内存量。 |
|
|
|
总池内存。 |
|
|
|
以字节为单位的总池内存。 |
|
模式 |
DBMS |
||
|
此程序在多线程环境中运行并不安全。因此,它不受并行运行时支持。有关更多信息,请参阅 Cypher 手册 → 并行运行时。 |
连接管理
有关更多信息,请参阅 管理连接。
dbms.listConnections()
语法 |
|
||
描述 |
列出此实例上当前已接受且对用户可见的所有网络连接。 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
连接的 ID。 |
|
|
|
连接建立的时间,格式符合 ISO-8601 标准。 |
|
|
|
连接器的协议。 |
|
|
|
已连接用户的用户名。 |
|
|
|
活动的代理。 |
|
|
|
已连接服务器的地址。 |
|
|
|
已连接客户端的地址。 |
|
模式 |
DBMS |
||
数据库管理
有关更多信息,请参阅 数据库管理 和 数据库内部和事务行为。
db.checkpoint()企业版
语法 |
|
||
描述 |
发起并等待一个新的检查点,或等待任何正在进行的检查点完成。请注意,这会暂时禁用 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
检查点是否已成功完成。 |
|
|
|
关于程序结果的详细信息。 |
|
模式 |
DBMS |
||
|
此程序在多线程环境中运行并不安全。因此,它不受并行运行时支持。有关更多信息,请参阅 Cypher 手册 → 并行运行时。 |
db.info()
语法 |
|
||
描述 |
提供有关数据库的信息。 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
数据库的 ID。 |
|
|
|
数据库名称。 |
|
|
|
数据库的创建日期,格式符合 ISO-8601 标准。 |
|
模式 |
读取 (READ) |
||
dbms.listActiveLocks()企业版
语法 |
|
||
描述 |
列出授予执行给定查询 ID 查询的事务的活动锁请求。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
要检查活动锁的查询 ID。 |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
锁类型:('SHARED', 'EXCLUSIVE')。 |
|
|
|
锁定的资源。 |
|
|
|
被锁定资源的 ID。 |
|
模式 |
DBMS |
||
|
此程序在多线程环境中运行并不安全。因此,它不受并行运行时支持。有关更多信息,请参阅 Cypher 手册 → 并行运行时。 |
db.listLocks()仅限管理员企业版
语法 |
|
||
描述 |
列出此数据库上的所有锁。 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
此锁使用的锁定模式,要么为 "SHARED",要么为 "EXCLUSIVE"。 |
|
|
|
此锁保护的资源类型(例如节点、关系、标签)。 |
|
|
|
此锁保护的资源 ID。 |
|
|
|
拥有此锁的事务 ID。 |
|
模式 |
DBMS |
||
db.ping()
语法 |
|
||
描述 |
此程序可供客户端工具使用,以测试它们是否正确连接到数据库。该程序在所有数据库中均可用,并始终返回 true。通过无法调用此程序可以检测到错误的连接。 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
到数据库的连接调用是否成功。 |
|
模式 |
读取 (READ) |
||
dbms.routing.getRoutingTable()
语法 |
|
||
描述 |
返回给定数据库的已通告支持 Bolt 的端点,按每个端点的功能进行划分。例如,端点可以服务读查询、写查询和/或未来的 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
路由上下文,例如路由策略。 |
|
|
|
获取路由表的数据库。 |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
路由表的存活时间(秒)。 |
|
|
|
按是否为读取者、写入者或路由者进行分组的服务器。 |
|
模式 |
DBMS |
||
dbms.setDefaultDatabase()仅限管理员企业版
语法 |
|
||
描述 |
将默认数据库更改为提供的值。旧的默认数据库必须已停止。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
数据库名称。 |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
有关默认数据库的信息。 |
|
模式 |
写入 (WRITE) |
||
|
从 Neo4j 2025.04 开始,默认数据库也可以设置为本地或远程数据库别名,或设置为尚未存在的数据库。 |
dbms.quarantineDatabase()仅限管理员企业版2025.01 弃用Cypher 25 移除
语法 |
|
||
描述 |
将数据库置于隔离状态或将其从隔离状态移除。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
要设置隔离状态的数据库名称。 |
|
|
|
是否隔离该数据库。 |
|
|
|
隔离数据库的原因。 |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
数据库名称。 |
|
|
|
数据库是否处于隔离状态。 |
|
|
|
关于程序结果的详细信息。 |
|
模式 |
DBMS |
||
替换为 |
|||
|
建议使用 |
dbms.unquarantineDatabase()仅限管理员企业版2025.01 引入
语法 |
|
||
描述 |
解除给定服务器上数据库的隔离。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
将要解除数据库隔离的服务器标识符。 |
|
|
|
将要解除隔离的数据库名称。 |
|
|
|
解除隔离时应用的的可选操作。 |
|
模式 |
DBMS |
||
|
可选操作的可能值包括:
如果您选择清除当前的集群状态,定义的数据库分配将尝试作为新成员加入。只有当大多数现有成员允许新成员加入时,此加入过程才能成功。假设您的数据库拓扑有三个主要分配。如果只有一个分配处于 |
dbms.upgrade()仅限管理员5.9 弃用Cypher 25 移除
语法 |
|
||
描述 |
如果系统数据库架构不是当前架构,则对其进行升级。 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
系统数据库的升级状态。 |
|
|
|
关于升级结果的信息。 |
|
模式 |
写入 (WRITE) |
||
|
此程序在多线程环境中运行并不安全。因此,它不受并行运行时支持。有关更多信息,请参阅 Cypher 手册 → 并行运行时。 |
dbms.upgradeStatus()仅限管理员5.9 弃用Cypher 25 移除
语法 |
|
||
描述 |
报告系统数据库子图架构的当前状态。 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
系统数据库的升级状态。 |
|
|
|
描述升级状态的信息。 |
|
|
|
关于升级所需步骤的信息。 |
|
模式 |
读取 (READ) |
||
|
此程序在多线程环境中运行并不安全。因此,它不受并行运行时支持。有关更多信息,请参阅 Cypher 手册 → 并行运行时。 |
车队管理器 (Fleet Manager)
有关更多信息,请参阅 车队管理。
fleetManagement.debugLogging()仅限管理员2026.03 引入
语法 |
|
||
描述 |
为车队管理器启用调试或有效负载记录。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
在此服务器上为车队管理器启用调试日志记录。 |
|
|
|
在此服务器上为车队管理器启用有效负载日志记录。 |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
指示操作结果的消息。 |
|
模式 |
DBMS |
||
fleetManagement.disable()仅限管理员2026.03 引入
语法 |
|
||
描述 |
禁用车队管理器 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
指示操作结果的消息。 |
|
模式 |
DBMS |
||
fleetManagement.inspectToken()仅限管理员2026.03 引入
语法 |
|
||
描述 |
检查车队管理器访问令牌。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
(可选)从 Neo4j Aura 获取的令牌。如果未提供,将使用当前注册的令牌。 |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
部署令牌所属的 Aura 项目的 ID。 |
|
|
|
令牌过期时间 |
|
|
|
令牌检查失败时的错误消息。 |
|
模式 |
DBMS |
||
fleetManagement.registerToken()仅限管理员2026.03 引入
语法 |
|
||
描述 |
添加一个用于向车队管理器进行身份验证的令牌。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
从 Neo4j Aura 获取的令牌。 |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
指示操作结果的消息。 |
|
模式 |
DBMS |
||
fleetManagement.reportedData()
语法 |
|
||
描述 |
为车队管理器消息中使用的数据结构生成文档。 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
当前字段出现的消息名称。 |
|
|
|
字段路径。 |
|
|
|
字段描述。 |
|
|
|
此字段的数据类型。 |
|
|
|
在连接时动态确定的当前字段值。 |
|
模式 |
读取 (READ) |
||
索引管理
有关更多信息,请参阅
db.awaitIndex()
语法 |
|
||
描述 |
等待索引联机(例如:CALL db.awaitIndex("MyIndex", 300))。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
要等待的索引名称。 |
|
|
|
等待的最大时间(秒)。 |
|
模式 |
读取 (READ) |
||
|
此程序在多线程环境中运行并不安全。因此,它不受并行运行时支持。有关更多信息,请参阅 Cypher 手册 → 并行运行时。 |
db.awaitIndexes()
语法 |
|
||
描述 |
等待所有索引联机(例如:CALL db.awaitIndexes(300))。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
等待的最大时间(秒)。 |
|
模式 |
读取 (READ) |
||
|
此程序在多线程环境中运行并不安全。因此,它不受并行运行时支持。有关更多信息,请参阅 Cypher 手册 → 并行运行时。 |
db.index.fulltext.awaitEventuallyConsistentIndexRefresh()
语法 |
|
||
描述 |
等待最近提交的事务中的更新应用于任何最终一致的全文索引。 |
||
模式 |
读取 (READ) |
||
db.index.fulltext.listAvailableAnalyzers()
语法 |
|
||
描述 |
列出可用于配置全文索引的可用分析器。 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
分析器名称。 |
|
|
|
分析器描述。 |
|
|
|
分析器用于对字符串进行分词的停用词。 |
|
模式 |
读取 (READ) |
||
db.index.fulltext.queryNodes()
语法 |
|
||
描述 |
查询给定的全文索引。返回匹配的节点及其 Lucene 查询得分,按得分排序。
|
||
输入参数 |
名称 |
类型 |
描述 |
|
|
全文索引名称。 |
|
|
|
要查找近似匹配的字符串。 |
|
|
|
{skip :: INTEGER, limit :: INTEGER, analyzer :: STRING} |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
包含与查询字符串相似属性的节点。 |
|
|
|
衡量节点属性与查询字符串相似程度的得分。 |
|
模式 |
读取 (READ) |
||
db.index.fulltext.queryRelationships()
语法 |
|
||
描述 |
查询给定的全文索引。返回匹配的关系及其 Lucene 查询得分,按得分排序。
|
||
输入参数 |
名称 |
类型 |
描述 |
|
|
全文索引名称。 |
|
|
|
要查找近似匹配的字符串。 |
|
|
|
{skip :: INTEGER, limit :: INTEGER, analyzer :: STRING} |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
包含与查询字符串相似属性的关系。 |
|
|
|
衡量关系属性与查询字符串相似程度的得分。 |
|
模式 |
读取 (READ) |
||
db.resampleIndex()
语法 |
|
||
描述 |
计划索引的重采样(例如:CALL db.resampleIndex("MyIndex"))。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
索引名称。 |
|
模式 |
读取 (READ) |
||
|
此程序在多线程环境中运行并不安全。因此,它不受并行运行时支持。有关更多信息,请参阅 Cypher 手册 → 并行运行时。 |
db.resampleOutdatedIndexes()
语法 |
|
||
描述 |
计划对所有过时的索引进行重采样。 |
||
模式 |
读取 (READ) |
||
|
此程序在多线程环境中运行并不安全。因此,它不受并行运行时支持。有关更多信息,请参阅 Cypher 手册 → 并行运行时。 |
指标 (Metrics)
dbms.queryJmx()
语法 |
|
||
描述 |
按域和名称查询 JMX 管理数据。例如,使用 : 查找所有 JMX bean。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
此 MBeanServer 上 MBean 的查询(例如 ':,name=neo4j' 表示 neo4j 数据库中的所有指标)。 |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
指标名称。 |
|
|
|
指标描述。 |
|
|
|
包含该指标属性(值)的集合。 |
|
模式 |
DBMS |
||
模式与元数据
db.schema.nodeTypeProperties()
语法 |
|
||
描述 |
以表格形式显示节点的派生属性模式。 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
从节点标签生成的名称。 |
|
|
|
包含节点类别标签的列表。 |
|
|
|
节点类别上的属性键。 |
|
|
|
属于节点类别的属性的所有类型。 |
|
|
|
属性是否存在于属于节点类别的所有节点上。 |
|
模式 |
读取 (READ) |
||
在 Cypher 5 中,propertyTypes 列返回给定属性的潜在 Java 类型。在 Cypher 25 中,它返回潜在的 Cypher 类型。有关 Cypher 属性类型的更多信息,请参阅 Cypher 手册 → 属性类型。 |
|
此程序在多线程环境中运行并不安全。因此,它不受并行运行时支持。有关更多信息,请参阅 Cypher 手册 → 并行运行时。 |
db.schema.relTypeProperties()
语法 |
|
||
描述 |
以表格形式显示关系的派生属性模式。 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
从关系上的类型生成的名称。 |
|
|
|
关系类别上的属性键。 |
|
|
|
属于关系类别的属性的所有类型。 |
|
|
|
属性是否存在于属于关系类别的所有关系上。 |
|
模式 |
读取 (READ) |
||
在 Cypher 5 中,propertyTypes 列返回给定属性的潜在 Java 类型。在 Cypher 25 中,它返回潜在的 Cypher 类型。有关 Cypher 属性类型的更多信息,请参阅 Cypher 手册 → 属性类型。 |
|
此程序在多线程环境中运行并不安全。因此,它不受并行运行时支持。有关更多信息,请参阅 Cypher 手册 → 并行运行时。 |
db.schema.visualization()
语法 |
|
||
描述 |
基于可用统计信息可视化数据模式。每个标签都会返回一个新节点。节点上表示的属性包括: |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
表示数据库中每个标签的虚拟节点列表。 |
|
|
|
表示数据库中开始和结束节点之间所有组合的虚拟关系列表。 |
|
模式 |
读取 (READ) |
||
|
此程序在多线程环境中运行并不安全。因此,它不受并行运行时支持。有关更多信息,请参阅 Cypher 手册 → 并行运行时。 |
db.createLabel()
语法 |
|
||
描述 |
创建标签 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
标签名称。 |
|
模式 |
写入 (WRITE) |
||
db.createProperty()
语法 |
|
||
描述 |
创建属性 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
属性名称。 |
|
模式 |
写入 (WRITE) |
||
db.createRelationshipType
语法 |
|
||
描述 |
创建关系类型 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
关系类型名称。 |
|
模式 |
写入 (WRITE) |
||
db.labels()
语法 |
|
||
描述 |
根据用户的访问权限,列出数据库中节点上附加的所有标签。如果用户无权查看这些标签,则该程序返回空结果。 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
数据库中的标签。 |
|
模式 |
读取 (READ) |
||
db.propertyKeys()
语法 |
|
||
描述 |
列出数据库中的所有属性键。 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
数据库中的属性键。 |
|
模式 |
读取 (READ) |
||
|
此程序在多线程环境中运行并不安全。因此,它不受并行运行时支持。有关更多信息,请参阅 Cypher 手册 → 并行运行时。 |
db.relationshipTypes()
语法 |
|
||
描述 |
根据用户的访问权限,列出数据库中关系上附加的所有类型。如果用户无权查看这些关系类型,则该程序返回空结果。 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
数据库中的关系类型。 |
|
模式 |
读取 (READ) |
||
|
此程序在多线程环境中运行并不安全。因此,它不受并行运行时支持。有关更多信息,请参阅 Cypher 手册 → 并行运行时。 |
统计信息与查询规划
有关更多信息,请参阅 统计信息与执行计划
db.clearQueryCaches()仅限管理员
语法 |
|
||
描述 |
清除所有查询缓存。 |
||
返回参数 |
名称 |
类型 |
描述 |
|
|
关于清除的查询缓存数量的信息。 |
|
模式 |
DBMS |
||
db.prepareForReplanning()仅限管理员
语法 |
|
||
描述 |
触发索引重采样并等待其完成,之后清除查询缓存。此程序完成后,将使用最新的数据库统计信息来规划查询。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
等待的最大时间(秒)。 |
|
模式 |
读取 (READ) |
||
|
此程序在多线程环境中运行并不安全。因此,它不受并行运行时支持。有关更多信息,请参阅 Cypher 手册 → 并行运行时。 |
db.stats.clear仅限管理员
语法 |
|
||
描述 |
清除给定数据部分的收集数据。有效部分为 'QUERIES' |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
要清除的部分。唯一可用的部分是:'QUERIES'。 |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
已清除的部分。 |
|
|
|
该部分是否已成功清除。 |
|
|
|
关于程序结果的详细信息。 |
|
模式 |
读取 (READ) |
||
db.stats.collect()仅限管理员
语法 |
|
||
描述 |
开始给定数据部分的数据收集。有效部分为 'QUERIES' |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
要收集的部分。唯一可用的部分是:'QUERIES'。 |
|
|
|
{durationSeconds = -1 INTEGER} |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
已收集的部分。 |
|
|
|
该部分是否已成功收集。 |
|
|
|
关于程序结果的详细信息。 |
|
模式 |
读取 (READ) |
||
db.stats.retrieve()仅限管理员
语法 |
|
||
描述 |
检索有关当前数据库的统计数据。有效部分为 'GRAPH COUNTS', 'TOKENS', 'QUERIES', 'META' |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
要检索的统计信息部分:('GRAPH COUNTS', 'TOKENS', 'QUERIES', 'META')。 |
|
|
|
{maxInvocations = 100 INTEGER} |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
已检索的部分。 |
|
|
|
与检索到的统计信息有关的数据。 |
|
模式 |
读取 (READ) |
||
db.stats.retrieveAllAnonymized()仅限管理员
语法 |
|
||
描述 |
以匿名形式检索有关当前数据库的所有可用统计数据。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
图令牌的名称。 |
|
|
|
{maxInvocations = 100 INTEGER} |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
已检索的部分。 |
|
|
|
与检索到的统计信息有关的数据。 |
|
模式 |
读取 (READ) |
||
向量
有关更多信息,请参阅
db.create.setNodeVectorProperty
语法 |
|
||
描述 |
在给定节点上设置向量属性,其表示方式比 Cypher 的 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
将在其上存储新属性的节点。 |
|
|
|
新属性的名称。 |
|
|
|
包含嵌入的对象。 |
|
模式 |
写入 (WRITE) |
||
|
已知问题
来自 |
db.create.setRelationshipVectorProperty()
语法 |
|
||
描述 |
在给定关系上设置向量属性,其表示方式比 Cypher 的 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
将在其上存储新属性的关系。 |
|
|
|
新属性的名称。 |
|
|
|
包含嵌入的对象。 |
|
模式 |
写入 (WRITE) |
||
|
已知问题
来自 |
db.create.setVectorProperty()测试版5.13 弃用Cypher 25 移除
语法 |
|
||
描述 |
在给定节点上设置向量属性,其表示方式比 Cypher 的 SET 更节省空间。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
将在其上存储新属性的节点。 |
|
|
|
新属性的名称。 |
|
|
|
包含嵌入的对象。 |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
已设置向量属性的节点。 |
|
模式 |
写入 (WRITE) |
||
替换为 |
|
||
|
已知问题
来自 |
db.index.vector.createNodeIndex()5.26 弃用Cypher 25 移除
语法 |
|
||
描述 |
使用 EUCLIDEAN 或 COSINE 相似度函数,为指定的标签和属性以及给定的向量维度创建命名节点向量索引。两种相似度函数均不区分大小写。使用 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
indexName :: STRING |
|
|
|
label :: STRING |
|
|
|
propertyKey :: STRING |
|
|
|
vectorDimension :: INTEGER |
|
|
|
vectorSimilarityFunction :: STRING |
|
模式 |
模式 (SCHEMA) |
||
替换为 |
Cypher 命令 |
||
db.index.vector.queryNodes()
语法 |
|
||
描述 |
查询给定的节点向量索引。返回请求数量的距离提供查询向量最近的邻居,以及它们相对于该查询向量的相似度得分(基于为索引配置的相似度函数)。相似度得分是一个介于 [0, 1] 之间的值;其中 0 表示最不相似,1 表示最相似。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
向量索引名称。 |
|
|
|
向量邻域的大小。 |
|
|
|
要查找近似匹配的对象。 |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
包含与查询对象相似向量属性的节点。 |
|
|
|
衡量节点属性与查询对象相似程度的得分。 |
|
模式 |
读取 (READ) |
||
|
从 Neo4j 2026.01 开始,查询向量索引的首选方式是使用功能更强大的 Cypher |
db.index.vector.queryRelationships()
语法 |
|
||
描述 |
查询给定的关系向量索引。返回请求数量的距离提供查询向量最近的邻居,以及它们相对于该查询向量的相似度得分(基于为索引配置的相似度函数)。相似度得分是一个介于 [0, 1] 之间的值;其中 0 表示最不相似,1 表示最相似。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
向量索引名称。 |
|
|
|
向量邻域的大小。 |
|
|
|
要查找近似匹配的对象。 |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
包含与查询对象相似向量属性的关系。 |
|
|
|
衡量关系属性与查询对象相似程度的得分。 |
|
模式 |
读取 (READ) |
||
|
从 Neo4j 2026.01 开始,查询向量索引的首选方式是使用功能更强大的 Cypher |