

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

# SPARQL 및 Gremlin 데이터 유형을 OpenSearch에 매핑
<a name="full-text-search-non-string-indexing-mapping"></a>

OpenSearch의 새로운 데이터 유형 매핑은 속성 또는 객체에서 사용되는 데이터 유형을 기반으로 생성됩니다. 일부 필드에는 다양한 유형의 값이 포함되어 있기 때문에 초기 매핑에는 필드의 일부 값이 제외될 수 있습니다.

Neptune 데이터 유형은 다음과 같이 OpenSearch 데이터 유형에 매핑됩니다.


| SPARQL 유형 | Gremlin 유형 | OpenSearch 유형 | 
| --- | --- | --- | 
| `XSD:int`<br />`XSD:unsignedInt`<br />`XSD:integer`<br />`XSD:byte`<br />`XSD:unsignedByte`<br />`XSD:short`<br />`XSD:unsignedShort`<br />`XSD:long`<br />`XSD:unsignedLong` | `byte`<br />`short`<br />`int`<br />`long` | `long` | 
| `XSD:float`<br />`XSD:double`<br />`XSD:decimal` | `float`<br />`double` | `double` | 
| `XSD:boolean` | `bool` | `boolean` | 
| `XSD:datetime`<br />`XSD:date` | `date` | `date` | 
| `XSD:string`<br />`XSD:time` | `string` | `text` | 
| *사용자 지정 데이터 유형* | *N/A* | `text` | 
| *기타 데이터 유형* | *N/A* | `text` | 

예를 들어, 다음과 같은 Gremlin 업데이트 쿼리를 실행하면 'newField'에 대한 새 매핑이 OpenSearch에 `{ "type" : "double" }` 이름으로 추가됩니다.

```
g.V("1").property("newField" 10.5)
```

마찬가지로, 다음과 같은 SPARQL 업데이트 쿼리를 실행하면 'ex:byte'에 대한 새 매핑이 OpenSearch에 `{ "type" : "long" }` 이름으로 추가됩니다.

```
PREFIX ex: <http://my/example#>
PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>

INSERT DATA { ex:test ex:byte "123"^^xsd:byte }.
```

**참고**  
보시다시피, Neptune에서 OpenSearch로 매핑된 항목은 결국 Neptune과 OpenSearch에서 데이터 유형이 다르게 나타날 수 있습니다. 하지만 OpenSearch에는 Neptune에 있는 항목의 데이터 유형을 기록하는 명시적인 텍스트 필드인 'datatype'이 있습니다.