Cypher 查詢語言

這是 Cypher,Neo4j 的查詢語言。在許多方面,如果你熟悉它,Cypher 與 SQL 類似,除了 SQL 指的是儲存在表中的專案,而 Cypher 指的是儲存在圖形中的專案。

首先,我們應該從學習如何建立圖表和新增關係開始,因為這基本上就是 Neo4j 的全部內容。

CREATE (ab:Object { age: 30, destination: "England", weight: 99 })
  • 你使用 CREATE 來建立資料
  • 要指示節點,請使用括號:()
  • ab:Object 部分可以按如下方式細分:變數’ab’和新節點的標籤’Object’。請注意,變數可以是任何變數,但你必須在 Cypher Query 行中保持一致
  • 要向節點新增屬性,請使用括號:{}括號

接下來,我們將學習如何找到 MATCH

MATCH (abc:Object) WHERE abc.destination = "England" RETURN abc;

MATCH 指定你要搜尋某個節點/關係模式(abc:Object)是指一個節點 Pattern(帶有標籤 Object),它將匹配儲存在變數 abc 中。你可以將整行視為以下內容

abc =  find the matches that is an Object WHERE the destination is England.

在這種情況下,WHERE 新增一個約束,即目標必須是英格蘭。你必須在所有 MATCH 查詢的末尾包含一個返回值(neo4j 不會只接受匹配…你的查詢必須始終返回一些值[這也取決於你正在編寫的查詢型別…我們將更多地討論稍後我們將介紹你可以製作的其他型別的查詢]。

在我們討論了 Cypher 查詢語言的更多元素之後,將在未來解釋下一行。這是為了讓你體驗一下我們用這種語言可以做些什麼! 下面,你將找到一個示例,其中包含標題以 T 開頭的電影

MATCH (actor:Person)-[:ACTED_IN]->(movie:Movie)
WHERE movie.title STARTS WITH "T"
RETURN movie.title AS title, collect(actor.name) AS cast
ORDER BY title ASC LIMIT 10;

完整的命令列表及其語法可在此處的官方 Neo4j Cypher 參考卡中找到