如何在不违反约束的情况下更改节点的唯一标识符

时间:2017-04-20 11:49:38

标签: neo4j cypher

在创建具有设置了约束的唯一标识符的节点之后,是否可以在以后更改标识符时执行以下操作:

如果标识符更改为的值不违反约束,则标识符将更改为该变量; 如果将标识符的值更改为违反约束,则将删除该节点(以及与其关联的关系)。

更具体地说:

设置约束:

CREATE CONSTRAINT ON (addr:Address) ASSERT addr.uniqueReferenceAddr IS UNIQUE

创建节点:

MERGE MERGE (a:Address {uniqueReferenceAddr:...}) 
ON CREATE SET a.AddID = ...,...

然后根据某些条件,如果更改为的值与已存在的值相同,则可能会更改带有label:Address的节点的属性uniqueReferenceAddr,这可能会导致违反约束。

有什么方法吗?

0 个答案:

没有答案