Examples of filtering what is exported
Here are examples that illustrate ways to filter the data that is exported.
Filtering the export of property-graph data
Example of using scope to export only edges
{ "command": "export-pg", "params": { "endpoint": "(your Neptune endpoint DNS name)", "scope": "edges" }, "outputS3Path": "s3://(your Amazon S3 bucket)/neptune-export" }
Example of using
nodeLabels and edgeLabels to export only nodes and edges having specific labels
The nodeLabels parameter in the following example specifies that
only nodes having a Person label or a Post label should
be exported. The edgeLabels parameter specifies that only edges
with a likes label should be exported:
{ "command": "export-pg", "params": { "endpoint": "(your Neptune endpoint DNS name)", "nodeLabels": ["Person", "Post"], "edgeLabels": ["likes"] }, "outputS3Path": "s3://(your Amazon S3 bucket)/neptune-export" }
Example of using filter
to export only specified nodes, edges and properties
The filter object in this example exports country nodes
with their type, code and desc properties,
and also route edges with their dist property.
{ "command": "export-pg", "params": { "endpoint": "(your Neptune endpoint DNS name)", "filter": { "nodes": [ { "label": "country", "properties": [ "type", "code", "desc" ] } ], "edges": [ { "label": "route", "properties": [ "dist" ] } ] } }, "outputS3Path": "s3://(your Amazon S3 bucket)/neptune-export" }
Example that
uses gremlinFilter
This example uses gremlinFilter to export only those nodes and edges
created after 2021-10-10 (that is, with a created property whose value
is greater than 2021-10-10):
{ "command": "export-pg", "params": { "endpoint": "(your Neptune endpoint DNS name)", "gremlinFilter" : "has(\"created\", gt(datetime(\"2021-10-10\")))" }, "outputS3Path": "s3://(your Amazon S3 bucket)/neptune-export" }
Example that
uses gremlinNodeFilter
This example uses gremlinNodeFilter to export only deleted nodes
(nodes with a Boolean deleted property whose value is true):
{ "command": "export-pg", "params": { "endpoint": "(your Neptune endpoint DNS name)", "gremlinNodeFilter" : "has(\"deleted\", true)" }, "outputS3Path": "s3://(your Amazon S3 bucket)/neptune-export" }
Example that
uses gremlinEdgeFilter
This example uses gremlinEdgeFilter to export only edges with a
strength numerical property whose value is 5:
{ "command": "export-pg", "params": { "endpoint": "(your Neptune endpoint DNS name)", "gremlinEdgeFilter" : "has(\"strength\", 5)" }, "outputS3Path": "s3://(your Amazon S3 bucket)/neptune-export" }
Combining filter,
gremlinNodeFilter, nodeLabels, edgeLabels and scope
The filter object in this example exports:
countrynodes with theirtype,codeanddescpropertiesairportnodes with theircode,icaoandrunwayspropertiesrouteedges with theirdistproperty
The gremlinNodeFilter parameter filters the nodes so that only nodes
with a code property whose value begins with A are exported.
The nodeLabels and edgeLabels parameters further restrict
the output so that only airport nodes and route edges are
exported.
Finally, the scope parameter eliminates edges from the export,
which leaves only the designated airport nodes in the output.
{ "command": "export-pg", "params": { "endpoint": "(your Neptune endpoint DNS name)", "filter": { "nodes": [ { "label": "airport", "properties": [ "code", "icao", "runways" ] }, { "label": "country", "properties": [ "type", "code", "desc" ] } ], "edges": [ { "label": "route", "properties": [ "dist" ] } ] }, "gremlinNodeFilter": "has(\"code\", startingWith(\"A\"))", "nodeLabels": [ "airport" ], "edgeLabels": [ "route" ], "scope": "nodes" }, "outputS3Path": "s3://(your Amazon S3 bucket)/neptune-export" }
Filtering the export of RDF data
Using rdfExportScope and sparql to export specific edges
This example exports triples whose predicate is <http://kelvinlawrence.net/air-routes/objectProperty/route> and whose object is not a literal:
{ "command": "export-rdf", "params": { "endpoint": "(your Neptune endpoint DNS name)", "rdfExportScope": "query", "sparql": "CONSTRUCT { ?s <http://kelvinlawrence.net/air-routes/objectProperty/route> ?o } WHERE { ?s ?p ?o . FILTER(!isLiteral(?o)) }" }, "outputS3Path": "s3://(your Amazon S3 bucket)/neptune-export" }
Using namedGraph
to export a single named graph
This example exports triples belonging to the named graph <http://aws.amazon.com/neptune/vocab/v01/DefaultNamedGraph>:
{ "command": "export-rdf", "params": { "endpoint": "(your Neptune endpoint DNS name)", "rdfExportScope": "graph", "namedGraph": "http://aws.amazon.com/neptune/vocab/v01/DefaultNamedGraph" }, "outputS3Path": "s3://(your Amazon S3 bucket)/neptune-export" }