我想从不同的匹配子句中收集关系作为结果中的单个列。更具体地说,我创建了一个与我的用例相对应的示例,可以在这里找到:http://console.neo4j.org/r/3g84gc。 r1,r2和r3是来自不同匹配子句的关系。返回多个关系的目标只有一个评估:
target = (0:Crew {name:"Neo"}),
r1 = (0)-[0:KNOWS]->(1),
r2 = (0)-[1:LOVES]->(2),
r3 = (1)-[2:KNOWS]->(2).
我想要的是:
target = (0:Crew {name:"Neo"}),
rels = (0)-[0:KNOWS]->(1), (0)-[1:LOVES]->(2), (1)-[2:KNOWS]->(2)
我想这样做而不必在return子句中指定所有关系,然后手动解析关系列。通过找到的关系数量来订购目标的估值也是有利的。
有没有办法在Cypher中做到这一点?
答案 0 :(得分:1)
如果我正确理解了问题,我认为以下RETURN
会为您提供所需内容:
RETURN DISTINCT target, [r1,r2,r3]
在您共享的控制台示例中,这将返回数组第二个和第三个位置的null
值,但如果需要,可以通过将OPTIONAL MATCH
子句更改为{来修复该值{1}}