Mapeo de tipos de datos SPARQL y Gremlin a OpenSearch - Amazon Neptune

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

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

Tipo de datos personalizado

N/A

text

Cualquier otro tipo de datos

N/A

text

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.