DELETE

更新时间:2025-01-09 07:26:11

DELETE子句用于删除图元素,包括节点、关系或路径。

终止性DELETE子句

一个不被其他子句跟随的DELETE子句被称为终止子句。当Cypher查询以终止子句结束时,Cypher函数调用不会返回任何结果。然而,Cypher函数调用仍然需要一个列表定义。当Cypher以终止节点结束时,在列列表定义中定义一个单一值:在这个变量中不会返回任何数据。

简介

对于删除属性,请参见REMOVE

您不能在不删除从该顶点开始或结束的边的情况下删除一个节点。您可以选择显式地删除这些顶点,或者使用DETACH DELETE

删除孤立顶点

要删除一个孤立顶点,使用DELETE子句。

示例

SELECT *
FROM cypher('graph_name', $$
    MATCH (v:Useless)
    DELETE v
$$) as (v agtype);

这将删除没有边的顶点(带有标签 Useless)。此查询不会返回任何结果。

 v 
---
(0 rows)

删除所有顶点及其关联的边

使用MATCH子句收集所有节点,然后使用DETACH选项可以先删除顶点的边,然后再删除顶点本身。

示例

SELECT *
FROM cypher('graph_name', $$
 MATCH (v:Useless)
 DETACH DELETE v
$$) as (v agtype);

此查询不会返回任何结果。

 v 
---
(0 rows)

删除边

要删除一条边,请使用MATCH子句找到目标边,然后将变量添加到DELETE子句中。

示例

SELECT *
FROM cypher('graph_name', $$
    MATCH (n {name: 'Andres'})-[r:KNOWS]->()
    DELETE r
$$) as (v agtype);

此查询不会返回任何结果。

 v 
---
(0 rows)

返回已删除的顶点

您可以使用RETURN子句返回已被删除的顶点。

示例

SELECT *
FROM cypher('graph_name', $$
 MATCH (n {name: 'A'})
 DELETE n
 RETURN n
$$) as (a agtype);

此查询不会返回任何结果。

                                    a                                        
----------------------------------------------------------------------------
{"id": 281474976710659, "label": "", "properties": {"name": "A"}}::vertex
(1 row)
  • 本页导读 (1)
  • 终止性DELETE子句
  • 简介
  • 删除孤立顶点
  • 删除所有顶点及其关联的边
  • 删除边
  • 返回已删除的顶点

点击开启售前

在线咨询服务