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子句
- 简介
- 删除孤立顶点
- 删除所有顶点及其关联的边
- 删除边
- 返回已删除的顶点