Neptune Streams Examples - Amazon Neptune
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China.

Neptune Streams Examples

The following examples show how to access change-log stream data in Amazon Neptune.

AT_SEQUENCE_NUMBER Change Log

The following example shows a Gremlin or openCypher AT_SEQUENCE_NUMBER change log.

curl -s "https://Neptune-DNS:8182/propertygraph/stream?limit=1&commitNum=1&opNum=1&iteratorType=AT_SEQUENCE_NUMBER" |jq { "lastEventId": { "commitNum": 1, "opNum": 1 }, "lastTrxTimestamp": 1560011610678, "format": "PG_JSON", "records": [ { "eventId": { "commitNum": 1, "opNum": 1 }, "commitTimestamp": 1560011610678, "data": { "id": "d2b59bf8-0d0f-218b-f68b-2aa7b0b1904a", "type": "vl", "key": "label", "value": { "value": "vertex", "dataType": "String" } }, "op": "ADD", "isLastOp", true } ], "totalRecords": 1 }

This one shows a SPARQL example of an AT_SEQUENCE_NUMBER change log.

curl -s "https://localhost:8182/sparql/stream?limit=1&commitNum=1&opNum=1&iteratorType=AT_SEQUENCE_NUMBER" |jq { "lastEventId": { "commitNum": 1, "opNum": 1 }, "lastTrxTimestamp": 1571252030566, "format": "NQUADS", "records": [ { "eventId": { "commitNum": 1, "opNum": 1 }, "commitTimestamp": 1571252030566, "data": { "stmt": "<https://test.com/s> <https://test.com/p> <https://test.com/o> .\n" }, "op": "ADD", "isLastOp", true } ], "totalRecords": 1 }

AFTER_SEQUENCE_NUMBER Change Log

The following example shows a Gremlin or openCypher AFTER_SEQUENCE_NUMBER change log.

curl -s "https://Neptune-DNS:8182/propertygraph/stream?limit=1&commitNum=1&opNum=1&iteratorType=AFTER_SEQUENCE_NUMBER" |jq { "lastEventId": { "commitNum": 2, "opNum": 1 }, "lastTrxTimestamp": 1560011633768, "format": "PG_JSON", "records": [ { "commitTimestamp": 1560011633768, "eventId": { "commitNum": 2, "opNum": 1 }, "data": { "id": "d2b59bf8-0d0f-218b-f68b-2aa7b0b1904a", "type": "vl", "key": "label", "value": { "value": "vertex", "dataType": "String" } }, "op": "REMOVE", "isLastOp", true } ], "totalRecords": 1 }

TRIM_HORIZON Change Log

The following example shows a Gremlin or openCypher TRIM_HORIZON change log.

curl -s "https://Neptune-DNS:8182/propertygraph/stream?limit=1&iteratorType=TRIM_HORIZON" |jq { "lastEventId": { "commitNum": 1, "opNum": 1 }, "lastTrxTimestamp": 1560011610678, "format": "PG_JSON", "records": [ { "commitTimestamp": 1560011610678, "eventId": { "commitNum": 1, "opNum": 1 }, "data": { "id": "d2b59bf8-0d0f-218b-f68b-2aa7b0b1904a", "type": "vl", "key": "label", "value": { "value": "vertex", "dataType": "String" } }, "op": "ADD", "isLastOp", true } ], "totalRecords": 1 }

LATEST Change Log

The following example shows a Gremlin or openCypher LATEST change log. Note that the API parameters limit, commitNum, and opNum are completely optional.

curl -s "https://Neptune-DNS:8182/propertygraph/stream?iteratorType=LATEST" | jq { "lastEventId": { "commitNum": 21, "opNum": 4 }, "lastTrxTimestamp": 1634710497743, "format": "PG_JSON", "records": [ { "commitTimestamp": 1634710497743, "eventId": { "commitNum": 21, "opNum": 4 }, "data": { "id": "24be4e2b-53b9-b195-56ba-3f48fa2b60ac", "type": "e", "key": "label", "value": { "value": "created", "dataType": "String" }, "from": "4", "to": "5" }, "op": "REMOVE", "isLastOp", true } ], "totalRecords": 1 }

Compression Change Log

The following example shows a Gremlin or openCypher compression change log.

curl -sH \ "Accept-Encoding: gzip" \ "https://Neptune-DNS:8182/propertygraph/stream?limit=1&commitNum=1" \ -H "Accept-Encoding: gzip" \ -v |gunzip -|jq > GET /propertygraph/stream?limit=1 HTTP/1.1 > Host: localhost:8182 > User-Agent: curl/7.64.0 > Accept: / > Accept-Encoding: gzip *> Accept-Encoding: gzip* > < HTTP/1.1 200 OK < Content-Type: application/json; charset=UTF-8 < Connection: keep-alive *< content-encoding: gzip* < content-length: 191 < { [191 bytes data] Connection #0 to host localhost left intact { "lastEventId": "1:1", "lastTrxTimestamp": 1558942160603, "format": "PG_JSON", "records": [ { "commitTimestamp": 1558942160603, "eventId": "1:1", "data": { "id": "v1", "type": "vl", "key": "label", "value": { "value": "person", "dataType": "String" } }, "op": "ADD", "isLastOp", true } ], "totalRecords": 1 }