本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 存取 Neptune 圖形 openCypher
Neptune 支援使用 建置圖形應用程式openCypher,目前是使用圖形資料庫的開發人員最常使用的查詢語言之一。開發人員、業務分析師和資料科學家,例如 openCypher的 SQL啟發語法,因為它提供了熟悉的結構來編寫圖形應用程式的查詢。
openCypher 是最初由 Neo4j 開發,然後在 2015 年開源,並根據 Apache 2 開源授權對openCypher
如需 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
子句開頭,後面接著其他子句,例如 WHERE
、 WITH
和 RETURN
。