

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

# SPARQL および Gremlin のデータ型を OpenSearch にマッピングする
<a name="full-text-search-non-string-indexing-mapping"></a>

OpenSearch での新しいデータ型マッピングは、プロパティまたはオブジェクトで使用されているデータ型に基づいて作成されます。一部のフィールドには異なる種類の値が含まれているため、初期マッピングではフィールドの一部の値が除外される場合があります。

Neptune データ型は OpenSearch データ型に次のようにマッピングされます。


| SPARQL 型 | Gremlin 型 | OpenSearch の型 | 
| --- | --- | --- | 
|  `XSD:int` `XSD:unsignedInt` `XSD:integer` `XSD:byte` `XSD:unsignedByte` `XSD:short` `XSD:unsignedShort` `XSD:long` `XSD:unsignedLong`  |  `byte` `short` `int` `long`  | `long` | 
|  `XSD:float` `XSD:double` `XSD:decimal`  |  `float` `double`  | `double` | 
| `XSD:boolean` | `bool` | `boolean` | 
|  `XSD:datetime` `XSD:date`  | `date` | `date` | 
|  `XSD:string` `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 にマッピングされた項目は、OpenSearch では Neptune にあるものとは別のデータ型になる可能性があります。ただし、OpenSearch には明示的なテキストフィールド、「datatype」があり、Neptune でその項目が持つデータ型を記録します。