从匹配节点列表中获取endNodes

时间:2015-11-20 09:23:11

标签: neo4j

从Neo4j开始,我很确定,这个问题甚至可能是愚蠢的,因为解决方案可能非常简单。但我不知道如何解决这个问题,我想结合两个问题:

首先,我搜索节点,这些节点本身就是父节点:

MATCH (parentnodes:DemoMenue) WHERE (parentnodes)-[:IS_PARENT_OF]-> () RETURN parentnodes

然后我想为上面的每个匹配的父节点获取endNodes。如果仅使用一个指定的父节点执行此操作,它将像下面这样工作:

MATCH (x:DemoMenue {title: "A2"})-[r]-() RETURN endNode(r)

现在,Cypher将我的第二个查询应用于第一个查询的每个匹配父节点的建议方法/技术是什么?

2 个答案:

答案 0 :(得分:0)

您可以将两个查询合并为一个,而不使用foreach循环:

dt2[sex == 2]

如果您想为集合中的每个结果执行某些操作,可以使用Foreach,但请注意,您只能在foreach中使用MATCH (parentnodes:DemoMenue)-[r:IS_PARENT_OF]-> () RETURN endNode(r) ,而不能SET。< / p>

要完成我的回答,您的查询不会返回&#39;任何集合,所以你不能使用foreach,你必须先使用return

答案 1 :(得分:0)

为什么不使用:

MATCH (parentnodes:DemoMenue)-[:IS_PARENT_OF]-> (endNode)
RETURN endNodes