neo4j 查询节点A 到节点C 的所有长度在1和5之间的路径,其中路径中不包括 r1关系
时间: 2024-02-05 13:10:44 浏览: 72
python 实现查询Neo4j多节点的多层关系
假设节点A的ID为1,节点C的ID为3,r1关系的类型为R1,则可以使用下面的Cypher查询语句来实现:
```
MATCH p=(a:Node {id: 1})-[*1..5]-(c:Node {id: 3})
WHERE NOT ()-[:R1]-() AND ALL(r in relationships(p) WHERE type(r) <> 'R1')
RETURN p
```
其中,`MATCH p=(a:Node {id: 1})-[*1..5]-(c:Node {id: 3})`表示找到从节点A到节点C的所有长度在1到5之间的路径,并将路径保存在变量p中。
`WHERE NOT ()-[:R1]-()`表示路径中不包括r1关系。
`ALL(r in relationships(p) WHERE type(r) <> 'R1')`表示路径p中的所有关系都不是r1关系。
最后,`RETURN p`返回所有符合条件的路径。
阅读全文