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 diversi formati per la serializzazione dei dati delle modifiche al grafo in flussi di log, a seconda che il grafo sia stato creato utilizzando Gremlin o SPARQL.
Entrambi i formati condividono un formato di serializzazione dei record comune, come descritto in Formato della risposta API di 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 Gremlin, SPARQL o Change. OpenCypher I formati di serializzazione di ciascun record sono descritti più dettagliatamente nelle sezioni successive.op
: operazione che ha creato la modifica.
Argomenti
Formato di serializzazione delle modifiche PG_JSON
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://
) è diventato obsoleto. È stato sostituito da PG_JSON, che attualmente è identico a Neptune-DNS
:8182/gremlin/streamGREMLIN_JSON
.
Un record di modifica Gremlin o openCypher, contenuto nel campo data
di una risposta del flusso di log, dispone dei seguenti campi:
-
id
: stringa, obbligatorio.L'ID dell'elemento Gremlin o openCypher.
-
type
: stringa, obbligatorio.Il tipo di questo elemento Gremlin o openCypher. Deve essere uno dei seguenti:
vl
: etichetta di vertice per Gremlin; etichetta di nodo per openCypher.vp
: proprietà di vertice per Gremlin; proprietà di nodo per openCypher.e
: arco ed etichetta di arco per Gremlin; relazione e tipo di relazione per openCypher.ep
: proprietà di arco per Gremlin; proprietà di relazione per openCypher.
-
key
: stringa, obbligatorio.Il nome della proprietà. Per le etichette degli elementi, questo è "label".
-
value
: oggettovalue
, obbligatorio.Si tratta di un oggetto JSON che contiene un campo
value
per il valore stesso e un campodatatype
per il tipo di dati JSON di tale 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
" }
Esempi di openCypher
-
Il seguente è un esempio di etichetta di nodo openCypher.
{ "id": "
an ID string
", "type": "vl", "key": "label", "value": { "value": "the new value of the node label
", "dataType": "String" } } -
Il seguente è un esempio di proprietà di nodo 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
" } } -
Il seguente è un esempio di relazione 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 di serializzazione della modifica SPARQL NQUADS
Neptune registra le modifiche ai quad SPARQL nel grafo utilizzando il linguaggio N-QUADS
di Resource Description Framework (RDF) definito nella specifica W3C RDF 1.1 N-Quads
Il campo data
nel record di modifica contiene semplicemente un campo stmt
che contiene un'istruzione N-QUADS che esprime il quad modificato, come nell'esempio seguente.
"stmt" : "<https://test.com/s> <https://test.com/p> <https://test.com/o> .\n"