Collections Neo4j/Cypher中二维集合中的节点匹配

Collections Neo4j/Cypher中二维集合中的节点匹配,collections,neo4j,match,cypher,Collections,Neo4j,Match,Cypher,为了限制通过Neo4j图db的遍历,我从一个子图收集分数。想象一下(简化) 到目前为止,一切顺利。为了避免长时间的遍历,我想将下一次匹配限制为存储在bscore中的节点b,并将bscore[1]中的分数相加,但我找不到正确的语法。甚至想知道在cypher是否可能。从概念上讲,我想这样做: MATCH bscore[0]-[:r2]->(c) RETURN c, SUM(bscore[1]) 非常感谢您的任何提示。您可以这样做吗 MATCH (a)-[:r1 {prop1:123}]-&g

为了限制通过Neo4j图db的遍历,我从一个子图收集分数。想象一下(简化)

到目前为止,一切顺利。为了避免长时间的遍历,我想将下一次匹配限制为存储在bscore中的节点b,并将bscore[1]中的分数相加,但我找不到正确的语法。甚至想知道在cypher是否可能。从概念上讲,我想这样做:

MATCH bscore[0]-[:r2]->(c)
RETURN c, SUM(bscore[1])

非常感谢您的任何提示。

您可以这样做吗

MATCH (a)-[:r1 {prop1:123}]->()-[]->()-[]->()-[]->(b {prop2:456}) 
WITH b,b.prop2*r1.prop1 as score ORDER BY score DESC LIMIT 10
MATCH b-[:r2]->(c)
RETURN c, sum(score)

r1中的输入错误:虽然是1。。应该是r1.prop1您还可以将长匿名模式缩短为(a)-[:r1]->()->[*3]->(b)。这只是一个示例,表明(a)节点可以位于很远的地方,我希望避免恢复到它的整个路径
MATCH (a)-[:r1 {prop1:123}]->()-[]->()-[]->()-[]->(b {prop2:456}) 
WITH b,b.prop2*r1.prop1 as score ORDER BY score DESC LIMIT 10
MATCH b-[:r2]->(c)
RETURN c, sum(score)