删除图

为了释放内存,我们可以删除未使用的图。为此,gds.graph.drop 过程非常有用。

语法

从目录中删除图
CALL gds.graph.drop(
  graphName: String,
  failIfMissing: Boolean,
  dbName: String,
  username: String
) YIELD
  graphName: String,
  database: String,
  databaseLocation: String,
  configuration: Map,
  nodeCount: Integer,
  relationshipCount: Integer,
  schema: Map,
  schemaWithOrientation: Map,
  density: Float,
  creationTime: Datetime,
  modificationTime: Datetime,
  sizeInBytes: Integer,
  memoryUsage: String
表 1. 参数
名称 类型 可选 描述

graphName

字符串

图在目录中存储的名称。

failIfMissing

布尔值

默认情况下,尝试删除不存在的图时,库会引发错误。当设置为 false 时,该过程将返回空结果。

dbName

字符串

活跃数据库名称

用于投影图的数据库名称。如果为空,则使用当前数据库。

username

字符串

活跃用户

投影图的用户名称。只能由 GDS 管理员使用。

表 2. 结果
名称 类型 描述

graphName

字符串

已删除图的名称。

database

字符串

投影图所在的数据库名称。

databaseLocation

字符串

投影图的数据库位置。可以是 localremotenone 之一。

configuration

映射

用于在内存中投影图的配置。

nodeCount

整数

图中的节点数量。

relationshipCount

整数

图中的关系数量。

schema

映射

内存图中包含的节点标签、关系类型和属性。

schemaWithOrientation

映射

投影图中包含的节点标签、关系类型、关系方向和属性。

density

浮点数

图的密度。

creationTime

日期时间

图投影的时间。

modificationTime

日期时间

图最后修改的时间。

sizeInBytes

整数

用于在 Java 堆中存储图的字节数。

memoryUsage

字符串

sizeInBytes 的人类可读描述。

示例

以下所有示例都应在空数据库中运行。

在本节中,我们将演示 gds.graph.drop 的用法。这些示例中使用的所有图名称都是虚构的,应替换为实际值。

基本用法

从目录中删除图
CALL gds.graph.drop('my-store-graph') YIELD graphName;

如果我们将上述示例运行两次,第二次将引发错误。如果我们希望该过程在图不存在时静默失败,可以将第二个参数的布尔标志设置为 false。这将为不存在的图返回空结果。

尝试从目录中删除图
CALL gds.graph.drop('my-fictive-graph', false) YIELD graphName;

多数据库支持

如果我们要删除投影在另一个数据库上的图,可以将数据库名称设置为第三个参数。

尝试从目录中删除图
CALL gds.graph.drop('my-fictive-graph', true, 'my-other-db') YIELD graphName;

多用户支持

如果我们是 GDS 管理员,并且想要删除属于其他用户的图,我们可以将用户名设置为过程的第四个参数。当存在多个用户拥有相同名称的图时,这会很有用。

从特定用户的图目录中删除图
CALL gds.graph.drop('my-fictive-graph', true, '', 'another-user') YIELD graphName;

有关更多详细信息,请参阅 管理

© . All rights reserved.