【发布时间】:2014-04-17 01:17:20
【问题描述】:
我有一个 neo4j 数据库,我想将部分密码代码(一组节点 ID)的结果用于第二部分:
类似:
MATCH ()-[:KNOWS]->(b)
FOREACH (n IN distinct(id(b))| SET n :label)
在纯密码代码中,有没有办法循环遍历结果“distinct(id(b))”并将另一个查询应用于每个元素?
【问题讨论】:
我有一个 neo4j 数据库,我想将部分密码代码(一组节点 ID)的结果用于第二部分:
类似:
MATCH ()-[:KNOWS]->(b)
FOREACH (n IN distinct(id(b))| SET n :label)
在纯密码代码中,有没有办法循环遍历结果“distinct(id(b))”并将另一个查询应用于每个元素?
【问题讨论】:
原查询的两个问题:
FOREACH。 n 绑定到节点ID,并且您不能在节点ID 上设置标签,只能在节点上。 你可以使用FOREACH来设置标签
MATCH ()-[:KNOWS]->(b)
WITH collect (distinct b) as bb
FOREACH (b IN bb | SET b:MyLabel)
在这种情况下你不需要把它作为一个集合来做,你可以这样做
MATCH ()-[:KNOWS]->(b)
WITH distinct b
SET b:MyLabel
一般来说,您可以使用WITH 将结果通过管道传输到其他查询部分
【讨论】:
我通过以下方式获得了所需的结果:
MATCH ()-[:KNOWS]->(b)
WITH DISTINCT (b)
RETURN id(b)
【讨论】: