翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
を使用した Neptune グラフへのアクセス openCypher
Neptune はopenCypher、現在、グラフデータベースを使用するデベロッパーにとって最も人気のあるクエリ言語の 1 つである を使用したグラフアプリケーションの構築をサポートしています。開発者、ビジネスアナリスト、データサイエンティストは、グラフアプリケーションのクエリを作成するための使い慣れた構造を提供するため、 openCypherの SQL風構文を好みます。
openCypher は、もともと Neo4j によって開発され、2015 年にオープンソース化され、Apache 2 オープンソースライセンスの下でopenCypher
openCypher 仕様の Neptune サポートの制限と相違点については、「」を参照してくださいopenCypher Amazon Neptune での 仕様コンプライアンス。
注記
Cypher クエリ言語の現在の Neo4j 実装は、いくつかの点で openCypher 仕様から逸脱しています。現在の Neo4j Cypher コードを Neptune に移行する場合、詳細については, 「Neptune の Neo4j との互換性」と「Neptune で in openCypher を実行するように Cypher クエリを書き換える」を参照してください。
エンジンリリース 1.1.1.0 以降、 openCypher は Neptune で本稼働環境で使用できます。
Gremlin と openCypher: 類似点と相違点
Gremlin と openCypher はどちらもプロパティグラフクエリ言語であり、多くの点で補完的です。
Gremlin は、プログラマーに魅力的で、コードにシームレスに収まるように設計されました。その結果、Gremlin は設計上不可欠ですが、 openCypherの宣言構文は、 SQLや SPARQLの経験を持つ人にとってより親しみやすいかもしれません。Gremlin は、Jupyter Notebook で Python を使用しているデータサイエンティストにとってはより自然に見えるかもしれませんが、SQLバックグラウンドを持つビジネスユーザーにとってはより直感的に見えるopenCypherかもしれません。
Neptune openCypher で Gremlin と のいずれかを選択する必要はありません。どちらの言語でも、データの入力に使用された 2 つの言語に関係なく、同じグラフでクエリを実行できます。作業内容によっては、一部のモノ openCypher や他のモノに Gremlin を使用する方が便利な場合があります。
Gremlin は、一連のステップでグラフ内を移動する方法を制御できる命令構文を使用します。各ステップは、データのストリームを取り込み、そのデータに対して何らかのアクション (フィルター、マップなどを使用して) を実行し、結果を次のステップに出力します。Gremlin クエリは、通常、g.V()
形式をとります。そして追加のステップが続きます。
ではopenCypher、 から着想を得た宣言構文を使用します。この構文はSQL、構文 ( など) を使用してグラフ内で検索するノードと関係のパターンを指定します()-[]->()
。 openCypher クエリは多くの場合、 MATCH
句で始まり、その後に WHERE
、WITH
、 などの他の句が続きますRETURN
。