Mapeo de tipos de datos SPARQL y Gremlin a OpenSearch
Los nuevos mapeos de tipos de datos en OpenSearch se crean en función del tipo de datos que se utiliza en la propiedad u objeto. Dado que algunos campos contienen valores de distintos tipos, es posible que en el mapeo inicial se excluyan algunos valores del campo.
Los tipos de datos de Neptune se mapean a los tipos de datos de OpenSearch de la siguiente manera:
| Tipos de SPARQL | Tipos de Gremlin | Tipos de OpenSearch |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Tipo de datos personalizado |
N/A |
|
Cualquier otro tipo de datos |
N/A |
|
Por ejemplo, la siguiente consulta de actualización de Gremlin hace que se añada un nuevo mapeo de "newField" a OpenSearch, es decir, { "type" : "double" }:
g.V("1").property("newField" 10.5)
Del mismo modo, la siguiente consulta de actualización de SPARQL hace que se añada un nuevo mapeo de "ex:byte" a OpenSearch, es decir, { "type" : "long" }:
PREFIX ex: <http://my/example#> PREFIX xsd:<http://www.w3.org/2001/XMLSchema#> INSERT DATA { ex:test ex:byte "123"^^xsd:byte }.
nota
Como puede ver, un elemento mapeado de Neptune a OpenSearch puede terminar con un tipo de datos diferente en OpenSearch al que tiene en Neptune. Sin embargo, hay un campo de texto explícito en OpenSearch, "datatype", que registra el tipo de datos que tiene el elemento en Neptune.