Neo4j 获取两个节点之间的节点

Neo4j 获取两个节点之间的节点,neo4j,Neo4j,在Neo4j中,如何获得两个节点之间的可变长度路径上的节点(独占) 范例 N1-关系->N2-关系->N3-关系->N4 我想要氮气和氮气 我事先不知道路径的长度,我只知道起始节点匹配p=(n1)-(r:RELATIONSHIP*]->(n4)返回过滤器(x在节点(p)中) Match p= (n1)-[r:RELATIONSHIP*]->(n4) return filter(x IN nodes(p) WHERE x<>n1 AND x<&

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

范例

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

我想要氮气和氮气

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

匹配p=(n1)-(r:RELATIONSHIP*]->(n4)返回过滤器(x在节点(p)中)
Match p= (n1)-[r:RELATIONSHIP*]->(n4) return filter(x IN nodes(p) 
              WHERE x<>n1 AND x<>n4) AS pathNodes
其中xn1和xn4)作为路径节点

试试这个

你可以像这样获得路径中的所有节点

MATCH p=(n1)-->(b)-->(n4)
RETURN filter(x IN nodes(p) 
          WHERE id(x) <> id(n1) AND id(x) <>id(n4)) AS allNodes
匹配p=(n1)-->(b)-->(n4)
返回筛选器(节点中的x(p)
其中id(x)id(n1)和id(x)id(n4))作为所有节点

这是参考文档

对不起,我应该提到的是,第一个和最后一个节点之间的节点数量可以是variable@Lamoni你应该用这些信息更新你的问题(并且不要在编辑中输入,或者当你这样做时更新,我们有编辑历史记录)。如果您知道n1和n4之间的节点数量,则上述方法适用于n1和n4之间的任意数量的节点。如何使用此方法使n1和n4不在该列表中?谢谢此外,路径中可能存在数量可变的N查询中的(b)是什么