删除图
为了释放内存,我们可以删除不再使用的图。为此,可以使用 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
| 名称 | 类型 | 可选 | 描述 |
|---|---|---|---|
graphName |
字符串 |
否 |
图在目录中存储时所使用的名称。 |
failIfMissing(缺失时是否报错) |
布尔值 |
true |
默认情况下,当尝试删除不存在的图时,该库会抛出错误。当设置为 |
dbName |
字符串 |
当前数据库名称 |
用于投影该图的数据库名称。如果为空,则使用当前数据库。 |
username |
字符串 |
当前用户 |
投影该图的用户名称。仅限 GDS 管理员使用。 |
| 名称 | 类型 | 描述 |
|---|---|---|
|
字符串 |
已删除图的名称。 |
|
字符串 |
图已投影到的数据库名称。 |
|
字符串 |
投影该图的数据库位置。可以是 |
|
Map |
用于在内存中投影图的配置。 |
|
整数 |
图中的节点数。 |
|
整数 |
图中关系的计数。 |
|
Map |
内存图中包含的节点标签、关系类型和属性。 |
|
Map |
投影图中包含的节点标签、关系类型、关系方向和属性。 |
|
浮点数 |
图的密度。 |
|
Datetime |
图投影的时间。 |
|
Datetime |
图最后一次被修改的时间。 |
|
整数 |
Java 堆中用于存储该图的字节数。 |
|
字符串 |
对 |
示例
|
以下所有示例应在空数据库中运行。 |
在本节中,我们将演示 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;
有关此内容的更多详细信息,请参阅 管理。