获取两个节点之间的节点

Get nodes BETWEEN two nodes

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

例子

N1 -关系-> N2 -关系-> N3 -关系-> N4

我想要 N2 和 N3

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

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

试试这个

您可以像这样获取路径中的所有节点

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