- Neo4j CQL
- Neo4j CQL - 簡介
- Neo4j CQL - 建立節點
- Neo4j CQL - 建立關係
- Neo4j CQL 寫入子句
- Neo4j - 合併命令
- Neo4j - 設定子句
- Neo4j - 刪除子句
- Neo4j - 移除子句
- Neo4j - Foreach 子句
- Neo4j CQL 讀取子句
- Neo4j - 匹配子句
- Neo4j - 可選匹配子句
- Neo4j - 條件子句
- Neo4j - 計數函式
- Neo4j CQL 常用子句
- Neo4j - 返回子句
- Neo4j - 排序子句
- Neo4j - 限制子句
- Neo4j - 跳過子句
- Neo4j - With 子句
- Neo4j - Unwind 子句
- Neo4j CQL 函式
- Neo4j - 字串函式
- Neo4j - 聚合函式
- Neo4j CQL 管理
- Neo4j - 備份和恢復
- Neo4j - 索引
- Neo4j - 建立唯一約束
- Neo4j - 刪除唯一約束
- Neo4j 有用資源
- Neo4j - 快速指南
- Neo4j - 有用資源
- Neo4j - 討論
Neo4j - 建立唯一約束
在 Neo4j 資料庫中,CQL CREATE 命令始終建立一個新的節點或關係,這意味著即使使用相同的值,它也會插入新行。根據我們的應用程式需求,對於某些節點或關係,我們必須避免這種重複。為此,我們應該使用一些資料庫約束在一個或多個節點或關係屬性上建立規則。
與 SQL 類似,Neo4j 資料庫也支援節點或關係屬性上的唯一約束。唯一約束用於避免重複記錄並執行資料完整性規則。
建立唯一約束
Neo4j CQL 提供“CREATE CONSTRAINT”命令來在節點或關係屬性上建立唯一約束。
語法
以下是 Neo4j 中建立唯一約束的語法。
MATCH (root {name: "Dhawan"})
CREATE UNIQUE (root)-[:LOVES]-(someone)
RETURN someone
示例
在繼續示例之前,請建立 4 個節點,如下所示。
CREATE(Dhawan:player{id:001, name: "shikar Dhawan", YOB: 1995, POB: "Delhi"})
CREATE(Jonathan:player {id:002, name: "Jonathan Trott", YOB: 1981, POB: "CapeTown"})
CREATE(Sangakkara:player {id:003, name: "Kumar Sangakkara", YOB: 1977, POB: "Matale"})
CREATE(Rohit:player {id:004, name: "Rohit Sharma", YOB: 1987, POB: "Nagpur"})
CREATE(Virat:player {id:005, name: "Virat Kohli", YOB: 1988, POB: "Delhi"})
以下是一個使用 Neo4j 在屬性 id 上建立唯一約束的示例 Cypher 查詢。
CREATE CONSTRAINT ON (n:player) ASSERT n.id IS UNIQUE
要執行上述查詢,請執行以下步驟:
步驟 1 - 開啟 Neo4j 桌面應用程式並啟動 Neo4j 伺服器。使用 URL https://:7474/ 開啟 Neo4j 的內建瀏覽器應用程式,如下面的螢幕截圖所示。
步驟 2 - 將所需的查詢複製並貼上到美元提示符中,然後按播放按鈕(執行查詢),如下面的螢幕截圖中突出顯示的那樣。
結果
執行後,您將獲得以下結果。
驗證
現在,嘗試新增另一個具有冗餘 id 值的節點。在這裡,我們嘗試建立一個 id 為 002 的節點。
CREATE (Jadeja:player {id:002, name: "Ravindra Jadeja", YOB: 1988, POB: "NavagamGhed"})
如果您執行此查詢,您將收到一條錯誤訊息,如下面的螢幕截圖所示。
廣告