

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

# 使用 SPARQL 存取 Amazon Neptune 中的圖形資料
<a name="get-started-graph-sparql"></a>

SPARQL 是一種資源描述架構 (RDF) 的查詢語言，其是專為網路設計的圖形資料格式。Amazon Neptune 與 SPARQL 1.1 相容。這表示您可以連線到 Neptune 資料庫執行個體，並使用 [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 資料庫執行個體進行 SPARQL 查詢時所用的 HTTP 端點為 `https://your-neptune-endpoint:port/sparql`。

**若要連接到 SPARQL**

1. 您可以從 CloudFormation 堆疊的**輸出**區段中的 **SparqlEndpoint** 項目取得 Neptune 叢集的 SPARQL 端點。

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
   ```

   先前範例使用 `?s ?p ?o` 查詢和限制 10，以傳回圖形中的最多 10 個三元組 (subject-predicate-object)。若要查詢其他項目，請將查詢換成其他 SPARQL 查詢。
**注意**  
`SELECT` 和 `ASK` 查詢回應的預設 MIME 類型為 `application/sparql-results+json`。  
`CONSTRUCT` 和 `DESCRIBE` 查詢回應的預設 MIME 類型為 `application/n-quads`。  
如需所有可用 MIME 類型的清單，請參閱 [SPARQL HTTP API](sparql-api-reference.md)。