在Neo4j中,Cypher是一種用于查詢圖形數據庫的語言
使用MATCH
子句定義要匹配的模式。MATCH
子句通常與WHERE
子句一起使用,以便在查詢中添加過濾條件。
使用CREATE
子句創建新的節點或關系,如果滿足MATCH
子句中定義的模式。
使用RETURN
子句指定查詢結果的輸出。
以下是一個簡單的示例,說明如何使用Cypher子句進行模式匹配:
假設我們有一個社交網絡圖,其中用戶(User)節點具有name
屬性,喜歡(LIKE)關系表示用戶之間的互動。我們想要找到所有喜歡同一項目的兩個用戶。
MATCH (user1:User)-[:LIKE]->(project:Project)-[:LIKE]->(user2:User)
WHERE user1.name <> user2.name
RETURN user1, project, user2
在這個查詢中:
MATCH
子句定義了一個模式,其中user1
和user2
是用戶節點,project
是項目節點,LIKE
關系表示用戶之間的喜歡關系。WHERE
子句過濾掉喜歡同一個項目的兩個用戶(即user1.name
和user2.name
不相等的情況)。RETURN
子句返回滿足模式匹配的用戶和項目節點。這個查詢將返回所有喜歡同一項目的不同用戶對。