

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 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/)의 단순 쿼리 작성을 참조하세요.

Neptune DB 인스턴스의 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
   ```

   앞의 예제에서는 10개 제한이 있는 `?s ?p ?o` 쿼리를 사용하여 그래프에서 최대 10개의 트리플(subject-predicate-object)을 반환했습니다. 다른 것을 쿼리하려면 다른 SPARQL 쿼리로 바꿉니다.
**참고**  
응답의 기본 MIME 유형이 `SELECT` 및 `ASK` 쿼리는 `application/sparql-results+json`입니다.  
응답의 기본 MIME 유형이 `CONSTRUCT` 및 `DESCRIBE` 쿼리는 `application/n-quads`입니다.  
사용 가능한 모든 MIME 유형 목록은 [SPARQL HTTP API](sparql-api-reference.md) 단원을 참조하십시오.