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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取每个关系neo4j的路径长度相关的知识,希望对你有一定的参考价值。

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

Graph

答案

我不知道它是否是最优雅的解决方案,但我认为它有效。首先,我将使用标识符从最右侧节点获取所有唯一的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

以上是关于获取每个关系neo4j的路径长度的主要内容,如果未能解决你的问题,请参考以下文章

Neo4j 的“可变长度关系”是啥意思?

neo4j-高效的原因(节点关系属性存储)

知识图谱Neo4j Cypher查询语言详解

Neo4j - 遍历以找到特定的连接组件

Neo4j:具有多种关系的二部到单部投影

Neo4j 密码查询以获取与特定其他节点没有关系的所有节点