Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Amazon Neptune utiliza dos formatos diferentes para serializar los datos de cambios de gráficos en flujos de registro, en función de si el gráfico se creó con Gremlin o SPARQL.
Ambos formatos comparten un formato de serialización de registros común, como se describe en Formato de respuesta de la API de flujos de Neptune, que contiene los siguientes campos:
commitTimestamp
: la hora a la que se solicitó la confirmación de la transacción, en milisegundos a partir de la fecha de inicio de Unix.eventId
: el identificador de secuencia del registro de cambios del flujo.data
— El registro serializado de Gremlin, SPARQL o cambios. OpenCypher Los formatos de serialización de cada registro se describen con más detalle en las siguientes secciones.op
: la operación que creó el cambio.
Formato de serialización de cambios PG_JSON
nota
A partir de la versión 1.1.0.0 del motor, el formato de salida de flujos de Gremlin (GREMLIN_JSON
) emitido por el punto de conexión de flujos de Gremlin (https://
) está en desuso. Se sustituye por PG_JSON, que actualmente es idéntico a Neptune-DNS
:8182/gremlin/streamGREMLIN_JSON
.
Un registro de cambios de Gremlin u openCypher, contenido en el campo data
de una respuesta de flujo de registro, tiene los siguientes campos:
-
id
: cadena, obligatorio.El ID del elemento de Gremlin u openCypher.
-
type
: cadena, obligatorio.El tipo de este elemento de Gremlin u openCypher. Debe ser una de las siguientes:
vl
: etiqueta de vértice para Gremlin; etiqueta de nodo para openCypher.vp
: propiedades de vértice para Gremlin; propiedades de nodo para openCypher.e
: borde y etiqueta de borde para Gremlin; relación y tipo de relación para openCypher.ep
: propiedades de borde para Gremlin; propiedades de relación para openCypher.
-
key
: cadena, obligatorio.Nombre de la propiedad. Para las etiquetas de elementos, se trata de "etiqueta".
-
value
: objetovalue
, obligatorio.Se trata de un objeto JSON que contiene un campo
value
para el propio valor y un campodatatype
para el tipo de datos JSON de ese valor."value": { "value": "
the new value
", "dataType": "the JSON datatype of the new value
" } -
from
: cadena, opcional.Si se trata de un borde (tipo = e), el identificador del vértice from o nodo de origen correspondientes.
-
to
: cadena, opcional.Si se trata de un borde (tipo="e"), el identificador del vértice to o nodo de destino correspondientes.
Ejemplos de Gremlin
-
A continuación se muestra un ejemplo de una etiqueta de vértice de Gremlin.
{ "id": "
an ID string
", "type": "vl", "key": "label", "value": { "value": "the new value of the vertex label
", "dataType": "String" } } -
A continuación se muestra un ejemplo de una propiedad de vértice de Gremlin.
{ "id": "
an ID string
", "type": "vp", "key": "the property name
", "value": { "value": "the new value of the vertex property
", "dataType": "the datatype of the vertex property
" } } -
A continuación se muestra un ejemplo de un borde de Gremlin.
{ "id": "
an ID string
", "type": "e", "key": "label", "value": { "value": "the new value of the edge
", "dataType": "String" }, "from": "the ID of the corresponding "from" vertex
", "to": "the ID of the corresponding "to" vertex
" }
Ejemplos de openCypher
-
A continuación, se muestra un ejemplo de una etiqueta de nodo de openCypher.
{ "id": "
an ID string
", "type": "vl", "key": "label", "value": { "value": "the new value of the node label
", "dataType": "String" } } -
A continuación, se muestra un ejemplo de una propiedad de nodo de openCypher.
{ "id": "
an ID string
", "type": "vp", "key": "the property name
", "value": { "value": "the new value of the node property
", "dataType": "the datatype of the node property
" } } -
A continuación, se muestra un ejemplo de una relación de openCypher.
{ "id": "
an ID string
", "type": "e", "key": "label", "value": { "value": "the new value of the relationship
", "dataType": "String" }, "from": "the ID of the corresponding source node
", "to": "the ID of the corresponding target node
" }
Formato de serialización de cambios SPARQL NQUADS
Neptune registra cambios en los cuádruples de SPARQL en el gráfico utilizando el lenguaje N-QUADS
del marco de descripción de recursos (RDF) definido en la especificación W3C RDF 1.1 N-Quads
El campo data
del registro de cambios simplemente contiene un campo stmt
que contiene una instrucción N-QUADS que expresa el cuadrante modificado, como en el siguiente ejemplo.
"stmt" : "<https://test.com/s> <https://test.com/p> <https://test.com/o> .\n"