【发布时间】:2015-05-05 05:27:25
【问题描述】:
如何在 Neo4j 中获取两个节点之间的可变长度路径上的节点,独占?
例子
N1 -RELATIONSHIP-> N2 -RELATIONSHIP-> N3 -RELATIONSHIP-> N4
我想要 N2 和 N3
我不知道路径的长度,我只知道起始节点
【问题讨论】:
标签: neo4j
如何在 Neo4j 中获取两个节点之间的可变长度路径上的节点,独占?
例子
N1 -RELATIONSHIP-> N2 -RELATIONSHIP-> N3 -RELATIONSHIP-> N4
我想要 N2 和 N3
我不知道路径的长度,我只知道起始节点
【问题讨论】:
标签: neo4j
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
【讨论】: