使用 存取 Neptune 圖形 openCypher - Amazon Neptune

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

使用 存取 Neptune 圖形 openCypher

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

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

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

注意

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

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

Gremlin 與 openCypher:相似性和差異

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

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

最棒的是,您不需要在 Gremlin 和 Neptune 中做選擇。 openCypher 無論使用這兩種語言的哪一種輸入資料,任一種語言的查詢都可以在相同的圖形上操作。您可能會發現,根據您所做的工作,將 Gremlin openCypher 用於某些事物和其他人會更方便。

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

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