计算两个特定节点之间的关系数 - Neo4j / Cypher

时间:2017-07-18 14:02:30

标签: neo4j cypher

我想输入两个特定节点,并返回沿着连接特定节点的路径的关系数量。 (每种情况下只有一条路径)

在某些情况下,两个特定节点通过以下两种关系相关:

(Tim)-[]-()-[]-(Bill)

应该返回2(关系)。

在其他情况下,我的特定开始节点和结束节点之间有更多节点。像这样:

(Tim)-[]-()-[]-()-[]-()-[]-(Bill)

应该返回4(关系)。

我有两种类型的关系可以存在于节点之间,所以我需要避免在可能的情况下具体关注关系类型。

新问题并在提出这个问题之前进行了广泛的搜索,因为似乎没有人讨论特定节点之间的关系......

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:3)

此查询应该有效:

match p = (:Person {name:'Tim'})-[*]->(:Person {name:'Bill'})
RETURN length(p)

即:返回路径p的{​​{3}}。