Formatos de serialização nos fluxos do Neptune - Amazon Neptune

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 gráficas em fluxos de log, dependendo se o gráfico foi criado usando Gremlin ou. SPARQL

Os dois formatos compartilham um formato comum de serialização de registros, conforme descrito em Formato de resposta do Neptune Streams API, 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 Gremlin serializadoSPARQL, ou OpenCypher registro de alteração. 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.

PG_ JSON Alterar formato de serialização

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://Neptune-DNS:8182/gremlin/stream) está sendo descontinuado. Ele é substituído por PG_JSON, que atualmente é idêntico a. GREMLIN_JSON

Um Gremlin ou registro de openCypher alteração, contido no data campo de uma resposta de fluxo de log, tem os seguintes campos:

  • id: string, obrigatório.

    O ID do Gremlin ou openCypher elemento.

  • type: string, obrigatório.

    O tipo desse Gremlin ou openCypher elemento. 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— Etiqueta Edge and Edge 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: objeto value, obrigatório.

    Esse é um JSON objeto que contém um value campo para o valor em si e um datatype campo para o tipo de JSON dados 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" }
openCypher Exemplos
  • Veja a seguir um exemplo de um rótulo de openCypher nó.

    { "id": "an ID string", "type": "vl", "key": "label", "value": { "value": "the new value of the node label", "dataType": "String" } }
  • Veja a seguir um exemplo de uma propriedade de openCypher nó.

    { "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 a seguir um exemplo de openCypher relacionamento.

    { "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" }

SPARQLNQUADSAlterar formato de serialização

O Neptune registra as alterações nos quads no gráfico usando SPARQL a linguagem Resource Description Framework RDF (N-QUADS) definida na especificação W3C 1.1 N-Quads. RDF

O data campo no registro de alteração simplesmente contém um stmt campo que contém uma QUADS instrução N- expressando o quad alterado, como no exemplo a seguir.

"stmt" : "<https://test.com/s> <https://test.com/p> <https://test.com/o> .\n"