

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

# SPARQL を使用した Amazon Neptune のグラフデータへのアクセス
<a name="get-started-graph-sparql"></a>

SPARQL は、ウェブ用に設計されたグラフデータ形式であるリソース記述フレームワーク (RDF) のためのクエリ言語です。Amazon Neptune は、SPARQL 1.1 と互換性があります。つまり、Neptune DB インスタンス に接続して、[SPARQL 1.1 クエリ言語](https://www.w3.org/TR/sparql11-query/)仕様で記述されたクエリ言語を使用してグラフにクエリを実行できるということです。

 SPARQL のクエリは、返す変数を指定する `SELECT` 句と、グラフで一致するデータを指定する `WHERE` 句で構成されます。SPARQL クエリに慣れていない場合は、[SPARQL 1.1 クエリ言語](https://www.w3.org/TR/sparql11-query/#WritingSimpleQueries)にある「[シンプルなクエリの書き込み](https://www.w3.org/TR/sparql11-query/)」を参照してください。

Neptune DB インスタンスへの SPARQL クエリ用の HTTP エンドポイントは `https://your-neptune-endpoint:port/sparql` です。

**SPARQL に接続するには**

1. Neptune クラスターの SPARQL エンドポイントは、 CloudFormation スタックの**出力**セクションの **SparqlEndpoint** 項目から取得できます。

1. 以下のように入力して、HTTP `POST` と **curl** コマンドを使用して SPARQL **`UPDATE`** を送信します。

   ```
   curl -X POST --data-binary 'update=INSERT DATA { <https://test.com/s> <https://test.com/p> <https://test.com/o> . }' https://your-neptune-endpoint:port/sparql
   ```

   前述の例では、次のトリプルを SPARQL デフォルトのグラフに挿入します。`<https://test.com/s> <https://test.com/p> <https://test.com/o>`

1. 以下のように入力して、HTTP `POST` と **curl** コマンドを使用して SPARQL **`QUERY`** を送信します。

   ```
   curl -X POST --data-binary 'query=select ?s ?p ?o where {?s ?p ?o} limit 10' https://your-neptune-endpoint:port/sparql
   ```

   前述の例では、10 の制限がある `?s ?p ?o` クエリを使用して、グラフのトリプル (主語 - 述語 - 目的語) のうち最大 10 個を返します。その他の対象にクエリを実行するには、別の SPARQL クエリで置き換えます。
**注記**  
`SELECT` および `ASK` クエリの場合、レスポンスのデフォルトの MIME タイプは `application/sparql-results+json` です。  
`CONSTRUCT` および `DESCRIBE` クエリの場合、レスポンスのデフォルトの MIME タイプは `application/n-quads` です。  
すべての使用可能な MIME タイプのリストについては、「[SPARQL HTTP API](sparql-api-reference.md)」を参照してください。