获取节点BETWEEN两个节点

时间:2015-05-05 05:27:25

标签: neo4j

如何在Neo4j中的两个节点(独占)之间获取可变长度路径上的节点?

实施例

N1 -RELATIONSHIP-> N2 -RELATIONSHIP-> N3 -RELATIONSHIP-> N4

我想得到N2和N3

我事先不知道路径的长度,我只知道起始节点

2 个答案:

答案 0 :(得分:3)

Match p= (n1)-[r:RELATIONSHIP*]->(n4) return filter(x IN nodes(p) 
              WHERE x<>n1 AND x<>n4) AS pathNodes

试试这个

答案 1 :(得分:0)

您可以像这样

获取路径中的所有节点
MATCH p=(n1)-->(b)-->(n4)
RETURN filter(x IN nodes(p) 
          WHERE id(x) <> id(n1) AND id(x) <>id(n4)) AS allNodes

以下是参考文档http://neo4j.com/docs/stable/query-functions-collection.html