天天看點

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
           
Neo4j cypher語句多深度查詢

2、直接拼接關系節點查詢

match (n{tableName:'T_ZH_GYSPJ_GZXX'})-[r]->(m)-[k]->(v) return n,r,m,k,v
           
Neo4j cypher語句多深度查詢

3、為了友善,可以将查詢結果賦給變量,然後傳回

match data=(n{tableName:'T_ZH_GYSPJ_GZXX'})-[r]->(m)-[k]->(v) return data
           
Neo4j cypher語句多深度查詢

4、使用深度運算符

當實作多深度關系節點查詢時,顯然使用以上方式比較繁瑣。

可變數量的關系->節點可以使用-[:TYPE*minHops…maxHops]->。

查詢:

如果在1到3的關系中存在路徑,将傳回開始點和結束點。

match (n)-[r*1..5]->(m) where m.tableName='T_ZH_GYSPJ_QXJL' return n,r,m
           
Neo4j cypher語句多深度查詢

參考:

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