- 精通Neo4j
- 龐國明等
- 261字
- 2023-07-17 19:01:00
3.1.5 唯一性
當進行模式匹配時,Neo4j將確保單個模式中不會包含匹配到多次的同一個圖關系。例如:查找一個用戶的朋友的朋友不應該返回該用戶。
下面創建一些節點和關系:

上面Cypher創建的結果如圖3-2所示。

圖3-2 Cypher創建的圖
下面來查詢Adam的朋友的朋友:

查詢結果:

在這個查詢中,Cypher會確保不會包含關系r1和r2指向的同一個圖關系。
但是有時也未必希望這樣。如果需要返回該用戶,可以通過多個MATCH語句延伸匹配關系來實現,如下:

查詢結果:

注意,下面的查詢雖然看起來與前一個類似,但事實上它等價于前一個。

這里的MATCH語句包含一個有兩條路徑的單個模式,而前一個查詢有兩個不同的模式。

推薦閱讀
- 計算機組成原理與接口技術:基于MIPS架構實驗教程(第2版)
- Redis使用手冊
- 云數據中心基礎
- Voice Application Development for Android
- MongoDB管理與開發精要
- Modern Programming: Object Oriented Programming and Best Practices
- 揭秘云計算與大數據
- 數據庫應用基礎教程(Visual FoxPro 9.0)
- 數據庫程序員面試筆試真題庫
- 智能數據時代:企業大數據戰略與實戰
- “互聯網+”時代立體化計算機組
- 從0到1:JavaScript 快速上手
- SQL優化最佳實踐:構建高效率Oracle數據庫的方法與技巧
- SQL應用及誤區分析
- 數據科學實戰指南