Amazon Neptune SPARQL での 1.1 Graph Store HTTP Protocol (GSP) の使用 - Amazon Neptune

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Neptune SPARQL での 1.1 Graph Store HTTP Protocol (GSP) の使用

SPARQL 1.1 Graph Store HTTP Protocol のレコメンデーションで、W3C はRDFグラフを管理するためのHTTPプロトコルを定義しました。RDF グラフコンテンツを削除、作成、置換する操作と、既存のコンテンツにRDFステートメントを追加する操作を定義します。

グラフストアプロトコル (GSP) は、複雑なSPARQLクエリを記述することなくグラフ全体を操作する便利な方法を提供します。

リリース: 1.0.5.0 (2021-07-27) 現在、Neptuneはこのプロトコルを完全にサポートしています。

グラフストアプロトコル (GSP) のエンドポイントは次のとおりです。

https://your-neptune-cluster:port/sparql/gsp/

を使用してデフォルトのグラフにアクセスするにはGSP、以下を使用します。

https://your-neptune-cluster:port/sparql/gsp/?default

で名前付きグラフにアクセスするにはGSP、以下を使用します。

https://your-neptune-cluster:port/sparql/gsp/?graph=named-graph-URI

Neptune GSP実装の特別な詳細

Neptune は、 を定義する W3C レコメンデーションを完全に実装しますGSP。ただし、仕様がカバーしていない状況はいくつかあります。

そのうちの 1 つは、 PUT または POSTリクエストがリクエスト本文内の 1 つ以上の名前付きグラフを指定し、リクエスト で指定されたグラフとは異なる場合ですURL。これは、リクエスト本文RDF形式が名前付きグラフをサポートしている場合にのみ発生します。例えば、 Content-Type: application/n-quadsまたは を使用しますContent-Type: application/trig

この状況では、Neptune は、本文に存在するすべての名前付きグラフと、 で指定された名前付きグラフを追加または更新しますURL。

たとえば、空のデータベースから開始して、3 つのグラフにアップサートするよう PUT リクエストを送ります。1つの名前付き urn:votes は、すべての選挙年度からの全得票を含みます。他の2つ、名前付き urn:votes:2005 および urn:votes:2019 は、特定の選挙年の投票を含めます。リクエストとそのペイロードは次のようになります。

PUT "http://your-Neptune-cluster:port/sparql/gsp/?graph=urn:votes" Host: example.com Content-Type: application/n-quads PAYLOAD: <urn:JohnDoe> <urn:votedFor> <urn:Labour> <urn:votes:2005> <urn:JohnDoe> <urn:votedFor> <urn:Conservative> <urn:votes:2019> <urn:JaneSmith> <urn:votedFor> <urn:LiberalDemocrats> <urn:votes:2005> <urn:JaneSmith> <urn:votedFor> <urn:Conservative> <urn:votes:2019>

リクエストが実行されると、データベース内のデータは次のようになります。

<urn:JohnDoe> <urn:votedFor> <urn:Labour> <urn:votes:2005> <urn:JohnDoe> <urn:votedFor> <urn:Conservative> <urn:votes:2019> <urn:JaneSmith> <urn:votedFor> <urn:LiberalDemocrats> <urn:votes:2005> <urn:JaneSmith> <urn:votedFor> <urn:Conservative> <urn:votes:2019> <urn:JohnDoe> <urn:votedFor> <urn:Labour> <urn:votes> <urn:JohnDoe> <urn:votedFor> <urn:Conservative> <urn:votes> <urn:JaneSmith> <urn:votedFor> <urn:LiberalDemocrats> <urn:votes> <urn:JaneSmith> <urn:votedFor> <urn:Conservative> <urn:votes>

もう 1 つのあいまいな状況は、PUT、、POSTGETまたは のいずれかを使用して、リクエストURL自体に複数のグラフが指定されている場合ですDELETE。例:

POST "http://your-Neptune-cluster:port/sparql/gsp/?graph=urn:votes:2005&graph=urn:votes:2019"

または:

GET "http://your-Neptune-cluster:port/sparql/gsp/?default&graph=urn:votes:2019"

この場合、Neptune はリクエスト で指定できるグラフが 1 つだけであることを示すメッセージを含む HTTP 400 を返しますURL。