Neo4j用Cypher命令删除节点和与之相关的唯一约束吗?

时间:2019-07-31 18:20:29

标签: neo4j cypher neo4j-apoc

我希望从Neo4j中删除一个特定的节点,并将其与所有唯一约束(如果有)关联。

我们都知道命令 MATCH (n) DETACH DELETE (n)删除了该节点,但是如果该节点具有任何与它相关的唯一约束和(或)索引,它将无法与该节点一起删除或删除那些约束。

是否可以对删除查询进行任何修改以删除节点,以及与该节点一起附加的唯一约束。可以使用查询检查每种节点类型的所有唯一约束: 致电db.indexes();

如果没有这样的单个命令,那么可以修改调用db.indexes()以便仅显示其标签(类型)已知的唯一约束吗?

1 个答案:

答案 0 :(得分:0)

即使删除与索引或约束关联的所有节点,通常也希望保留索引或约束,以防以后添加新的相关节点。因此,没有一个Cypher命令可以同时删除所有相关节点及其索引和约束。

但是,有单独的Cypher子句可以执行这些操作。用于删除索引的文档位于this section中,而用于删除各种约束的文档位于this page的相关章节中。