使用 openCypher 存取 Neptune 圖形 - Amazon Neptune

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 openCypher 存取 Neptune 圖形

Neptune 支援使用 openCypher 建置圖形應用程式,目前是使用圖形資料庫的開發人員最常使用的查詢語言之一。開發人員、商業分析師和資料科學家,例如 openCypher 的 SQL 風格語法,因為它提供熟悉的結構來編寫圖形應用程式的查詢。

openCypher 是一種宣告式查詢語言,適用於最初由 Neo4j 開發的屬性圖形,然後在 2015 年開放原始碼,並根據 Apache 2 開放原始碼授權對 openCypher 專案做出貢獻。其語法記載於 Cypher 查詢語言參考第 9 版

如需 Neptune 支援 openCypher 規格的限制和差異,請參閱 Amazon Neptune 中的openCypher 規格合規

注意

Cypher 查詢語言目前的 Neo4j 實作在某種程度上與 openCypher 規格不同。如果您要將目前 Neo4j Cypher 程式碼遷移至 Neptune,請參閱 Neptune 與 Neo4j 的相容性重寫 Cypher 查詢以在 Neptune 上執行 in openCypher 以取得協助。

從引擎 1.1.1.0 版開始, openCypher 可在 Neptune 中使用。

Gremlin 與 openCypher:相似性和差異

Gremlin 和 openCypher 都是屬性圖查詢語言,而且在許多方面是互補的。

Gemlin 旨在吸引程式設計人員並無縫融入程式碼中。因此,Gremlin 在設計上是必要的,而 openCypher 的宣告語法對於具有 SQL 或 SPARQL 體驗的人來說,可能會更熟悉。Gremlin 對在 Jupyter 筆記本中使用 Python 的資料科學家而言似乎更自然,而 openCypher 對具有某些 SQL 背景的商業使用者而言似乎更直觀。

好事是,您不需要在 Neptune 中的 Gremlin 和Word 之間進行選擇。 openCypher 無論使用這兩種語言的哪一種輸入資料,任一種語言的查詢都可以在相同的圖形上操作。視您執行的動作而定,您可能會發現將 Gremlin 用於某些事物時更為方便,將 openCypher 用於其他事物時更為方便。

Gremlin 使用命令式語法,可讓您透過一系列步驟來控制您在圖形中移動的方式,每個步驟都會包含資料串流、對其執行某些動作 (使用篩選條件、映射等),然後將結果輸出至下一個步驟。Grimlin 查詢通常會採取格式 g.V(),後面跟著額外的步驟。

在 openCypher 中,您會使用以 SQL 為設計來源的宣告式語法,該語法指定節點和關係的模式,以使用主題語法 (如 ()-[]->()) 在圖形中尋找。An openCypher 查詢通常以子MATCH句開頭,後面接著其他子句,例如 WHEREWITHRETURN