Formati di serializzazione in Neptune Streams - Amazon Neptune

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Formati di serializzazione in Neptune Streams

Amazon Neptune utilizza due formati diversi per serializzare i dati relativi alle modifiche dei grafici per registrare i flussi, a seconda che il grafico sia stato creato utilizzando Gremlin o. SPARQL

Entrambi i formati condividono un formato di serializzazione dei record comune, come descritto in Formato di risposta di API Neptune Streams, che contiene i seguenti campi:

  • commitTimestamp: l'ora in cui è stato richiesto il commit per la transazione, in millisecondi dall'epoca Unix.

  • eventId: identificatore di sequenza del record di modifica del flusso.

  • data— Il record serializzato di Gremlin, o change. SPARQL OpenCypher I formati di serializzazione di ciascun record sono descritti più dettagliatamente nelle sezioni successive.

  • op: operazione che ha creato la modifica.

JSONPG_ Cambia il formato di serializzazione

Nota

A partire dal rilascio 1.1.0.0 del motore, il formato di output del flusso Gremlin (GREMLIN_JSON) generato dall'endpoint del flusso Gremlin (https://Neptune-DNS:8182/gremlin/stream) è diventato obsoleto. È sostituito da PG_JSON, che attualmente è identico a. GREMLIN_JSON

Un record Gremlin o openCypher change, contenuto nel data campo di una risposta al flusso di log, ha i seguenti campi:

  • id: stringa, obbligatorio.

    L'ID del Gremlin o dell'elemento. openCypher

  • type: stringa, obbligatorio.

    Il tipo di questo Gremlin o elemento. openCypher Deve essere uno dei seguenti:

    • vl— Etichetta Vertex per Gremlin; etichetta nodo per. openCypher

    • vp— Proprietà dei vertici per Gremlin; proprietà dei nodi per. openCypher

    • e— Spigolo ed etichetta per Gremlin; relazione e tipo di relazione per. openCypher

    • ep— Proprietà degli spigoli per Gremlin; proprietà di relazione per. openCypher

  • key: stringa, obbligatorio.

    Il nome della proprietà. Per le etichette degli elementi, questo è "label".

  • value: oggetto value, obbligatorio.

    Si tratta di un JSON oggetto che contiene un value campo per il valore stesso e un datatype campo per il tipo di JSON dati di quel valore.

    "value": { "value": "the new value", "dataType": "the JSON datatype of the new value" }
  • from: stringa, facoltativo.

    Se si tratta di un arco (tipo="e"), è l'ID del vertice from o del nodo di origine corrispondente.

  • to: stringa, facoltativo.

    Se si tratta di un arco (tipo="e"), ID del vertice to corrispondente o del nodo di destinazione.

Esempi di Gremlin
  • Di seguito è riportato un esempio di un'etichetta del vertice Gremlin.

    { "id": "an ID string", "type": "vl", "key": "label", "value": { "value": "the new value of the vertex label", "dataType": "String" } }
  • Di seguito è riportato un esempio di una proprietà del vertice 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" } }
  • Di seguito è riportato un esempio di un edge 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 Esempi
  • Di seguito è riportato un esempio di etichetta di openCypher nodo.

    { "id": "an ID string", "type": "vl", "key": "label", "value": { "value": "the new value of the node label", "dataType": "String" } }
  • Di seguito è riportato un esempio di proprietà del openCypher nodo.

    { "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" } }
  • Di seguito è riportato un esempio di openCypher relazione.

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

SPARQLNQUADSModifica il formato di serializzazione

Neptune registra le modifiche SPARQL ai quad nel grafico utilizzando il linguaggio Resource Description Framework RDF (N-QUADS) definito nella specifica W3C 1.1 N-Quads. RDF

Il data campo nel record delle modifiche contiene semplicemente un stmt campo che contiene un'QUADSistruzione N- che esprime il quad modificato, come nell'esempio seguente.

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