As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Formatos de serialização nos fluxos do Neptune
O Amazon Neptune usa dois formatos diferentes para serializar dados de alterações nos grafos para fluxos de log, dependendo de se o grafo foi criado usando o Gremlin ou o SPARQL.
Os dois formatos compartilham um formato comum de serialização de registros, conforme descrito em Formato de resposta da API de fluxos do Neptune, que contém os seguintes campos:
commitTimestamp: a hora em que a confirmação da transação foi solicitada, em milissegundos a partir da época do Unix.eventId: o identificador da sequência da registro de alteração do fluxo.data— O registro serializado de Gremlin, SPARQL ou alteração. OpenCypher Os formatos de serialização de cada registro são descritos em mais detalhes na próxima seção.op: a operação que criou a alteração.
Tópicos
Formato da serialização de alterações do PG_JSON
nota
A partir da versão 1.1.0.0 do mecanismo, o formato de saída de fluxos do Gremlin (GREMLIN_JSON) produzido pelo endpoint de fluxos do Gremlin (https://) está sendo descontinuado. Ele foi substituído pelo PG_JSON, que atualmente é idêntico a Neptune-DNS:8182/gremlin/streamGREMLIN_JSON.
Um registro de alterações do Gremlin ou do openCypher, contido no campo data de uma resposta do fluxo de logs, tem os seguintes campos:
-
id: string, obrigatório.O ID do elemento do Gremlin ou do openCypher.
-
type: string, obrigatório.O tipo desse elemento do Gremlin ou do openCypher Deve ser um dos seguintes:
vl: rótulo de vértice para Gremlin; rótulo de nó para openCypher.vp: propriedades de vértice para Gremlin; propriedades de nós para openCypher.e: rótulo de borda e borda para Gremlin; relacionamento e tipo de relacionamento para openCypher.ep: propriedades de borda para Gremlin; propriedades de relacionamento para openCypher.
-
key: string, obrigatório.O nome da propriedade. Para rótulos de elementos, o nome é "label".
-
value: objetovalue, obrigatório.Trata-se de um objeto JSON que contém um campo
valuepara o próprio valor, e um campodatatypepara o tipo de dados JSON desse valor."value": { "value": "the new value", "dataType": "the JSON datatype of the new value" } -
from: string, opcional.Se esta for uma borda (tipo = “e”), o ID do vértice de correspondente ou do nó de origem.
-
to: string, opcional.Se esta for uma borda (tipo = “e”), o ID do vértice para correspondente ou nó de destino.
Exemplos do Gremlin
-
Veja a seguir um exemplo de um rótulo de vértice do Gremlin.
{ "id": "an ID string", "type": "vl", "key": "label", "value": { "value": "the new value of the vertex label", "dataType": "String" } } -
Veja a seguir um exemplo de uma propriedade de vértice do 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" } } -
Veja a seguir um exemplo de uma borda padrão do 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" }
Exemplos do openCypher
-
Veja um exemplo de rótulo de nó do openCypher.
{ "id": "an ID string", "type": "vl", "key": "label", "value": { "value": "the new value of the node label", "dataType": "String" } } -
Veja um exemplo de propriedade de nó do 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" } } -
Veja um exemplo de relacionamento do 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 serialização de alterações de NQUADS do SPARQL
O Neptune registra alterações nos quadrantes do SPARQL no grafo usando a linguagem Resource Description Framework (RDF) N-QUADS definida na especificação W3C RDF 1.1 N-Quads
O campo data no registro de alterações simplesmente contém um campo stmt que contém uma instrução N-QUADS que expressa o quad alterado, como no exemplo a seguir.
"stmt" : "<https://test.com/s> <https://test.com/p> <https://test.com/o> .\n"