在Cypher查询中结束UNWIND语句

时间:2015-06-09 23:05:21

标签: neo4j cypher

如果我有一个解包参数的密码查询,则查询该部分之后的所有内容都被称为展开的x次。我想找到一种方法来结束放松并继续其他事情。

MATCH (thing:Thing)
UNWIND { names } AS name
CREATE thing-[:HAS_NAME]-(n:Name {name: name})
//done with the unwind
WITH (thing)
CREATE thing[:HAS_AGE]-(a:Age {age: 20})

在上面的例子中,由于展开,我最终会得到两件事 - [:HAS_AGE] - >()关系。我是否必须将其拆分为单独的陈述?

1 个答案:

答案 0 :(得分:3)

放松后你有两排。如果您在继续之前重新崩溃thing,那么您将再次获得一个。

MATCH (thing:Thing)
UNWIND { names } AS name
CREATE thing-[:HAS_NAME]-(n:Name {name: name})
//done with the unwind
WITH distinct thing
CREATE thing[:HAS_AGE]-(a:Age {age: 20})