Neo4j Cypher有条件地创建关系



我在Neo4j中遇到以下情况。

我知道存在两个节点:(x:X)(y:Y)

如果关系(x)-[:A]->(z:Z)存在,那么我想要创建关系(y)-[:B]->(z)。否则,我什么都不想做(即,不应该创建任何关系(。我该如何实现?

首先,找到匹配的节点。然后在它们之间建立关系。

MATCH (x)-[:A]->(z:Z), (y:Y)
MERGE (y)-[:B]->(z)

您还可以指定任何必要的匹配条件,例如.

MATCH (x)-[:A]->(z:Z), (y:Y)
WHERE z.name = "foo"
AND y.type = "bar"
MERGE (y)-[:B]->(z)

最新更新