我有一个类似于以下
的密码MERGE (col)-[:CONNECTS]->(o)
ON CREATE SET col.name = "SOME NAME"
现在我只想在合并创建(不匹配)时添加以下节点和关系:
CREATE (o)-[:NEEDS]->(p:anode)
这是如何实现的?
答案 0 :(得分:2)
现在Cypher没有内置的条件创建,我想它会被添加到即将发布的版本中。
现在你可以做一个小技巧,当你创建你在关系上设置一个属性来告诉它是一个新创建时,然后在这个属性上做一个foreach / case,创建另一个关系并删除属性。
代码解释比文字更好:
MERGE (col)-[r:CONNECTS]->(o)
ON CREATE SET col.name = "SOME NAME", r.new = 1
FOREACH (x IN CASE WHEN r.new = 1 THEN [1] ELSE [] |
CREATE (o)-[:NEEDS]->(p:anode)
)
REMOVE r.new