Neo4j cypher语句多深度查询

本文档仅做记录

1、使用with关键字

查询三层级关系节点如下:with可以将前面查询结果作为后面查询条件

match (n)-[r]->(m) where n.tableName = 'T_ZH_GYSPJ_GZXX' WITH n,r,m match (m)-[k]->(v) return n,r,m,k,v

在这里插入图片描述

2、直接拼接关系节点查询

match (n{
    
    tableName:'T_ZH_GYSPJ_GZXX'})-[r]->(m)-[k]->(v) return n,r,m,k,v

在这里插入图片描述

3、为了方便,可以将查询结果赋给变量,然后返回

match data=(n{
    
    tableName:'T_ZH_GYSPJ_GZXX'})-[r]->(m)-[k]->(v) return data

在这里插入图片描述

4、使用深度运算符

当实现多深度关系节点查询时,显然使用以上方式比较繁琐。

可变数量的关系->节点可以使用-[:TYPE*minHops…maxHops]->。

查询:

如果在1到3的关系中存在路径,将返回开始点和结束点。

match (n)-[r*1..5]->(m) where m.tableName='T_ZH_GYSPJ_QXJL' return n,r,m

在这里插入图片描述

参考:

https://blog.csdn.net/u013946356/article/details/81739079

猜你喜欢

转载自blog.csdn.net/weixin_44455388/article/details/107608361
今日推荐