获取每个关系neo4j的路径长度

时间:2018-04-28 21:35:25

标签: graph neo4j cypher graph-databases

所以我有一个看起来像这样的图(从最右边开始),关系具有一个名为Isnad的唯一数字属性。我想编写一个查询来获取从开始节点到结束节点的每个Isnad的长度,但我无法弄明白。我不知道如何分别遍历每个Isnad的每条路径。有什么帮助吗?

Graph

1 个答案:

答案 0 :(得分:2)

我不知道它是否是最优雅的解决方案,但我认为它有效。首先,我使用标识符从最右侧节点获取所有唯一的Isnad关系值。然后我使用variable-length pattern matching,其中所有关系对Isnad属性具有相同的值。然后返回Isnad值和路径长度。

match ({id:'unique-identifier-of-rightmost-side-node'})-[r]->()
with distinct r.Isnad as Isnad
match p = ()-[*{Isnad : Isnad}]->()
return Isnad, length(p) as Length