在Neo4j中检索具有可变长度关系的中间节点

时间:2018-11-25 10:16:02

标签: neo4j cypher

我在密码查询中使用了可变长度关系功能,它似乎大部分都可以工作。但是,我想在结果中包括中间节点,但我想不出如何最好地实现这一点。

一个简化的示例是这样的查询

MATCH (a:MOL)-[:F2EDGE*1..2]-(b:MOL) RETURN a,b LIMIT 100

按预期方式检索a和b节点,在少数情况下,它们的连接是在路径长度为1的情况下进行的。但是在大多数情况下,它们是断开连接的,因为结果中不包括中间节点(路径长度为2)。 2跳查询如下所示:

MATCH (a:MOL)-[:F2EDGE]-(i:F2)-[:F2EDGE]-(b:MOL) RETURN a,i,b LIMIT 100

我该如何实现?

1 个答案:

答案 0 :(得分:1)

您必须定义路径并像这样返回它:

MATCH p=(a:MOL)-[:F2EDGE*1..2]-(b:MOL) RETURN p LIMIT 100