AWS neptune documentation change
Summary
Added comprehensive examples for invoking explain queries using AWS CLI, SDK, awscurl, and curl with proper endpoint URLs and authentication notes
Security assessment
The change improves documentation by adding proper authentication methods (AWS credentials, IAM roles via awscurl) and removes the insecure '-k' flag from curl examples which previously disabled SSL certificate verification. This promotes secure practices by showing proper authentication methods and removing insecure curl options.
Diff
diff --git a/neptune/latest/userguide/access-graph-opencypher-explain-example-5.md b/neptune/latest/userguide/access-graph-opencypher-explain-example-5.md index 7cc785cf3..a432aa043 100644 --- a//neptune/latest/userguide/access-graph-opencypher-explain-example-5.md +++ b//neptune/latest/userguide/access-graph-opencypher-explain-example-5.md @@ -14,0 +15,60 @@ In `subQuery1`, `DFEChunkLocalSubQuery` (ID 3) injects the `...graph3` subquery, +To invoke `explain` for this query: + +AWS CLI + + + + aws neptunedata execute-open-cypher-explain-query \ + --endpoint-url https://your-neptune-endpoint:port \ + --open-cypher-query "MATCH p=(a {code: 'YPO'})-[*2]->(b{code: 'LAX'}) return p" \ + --explain-mode details + +For more information, see [execute-open-cypher-explain-query](https://docs.aws.amazon.com/cli/latest/reference/neptunedata/execute-open-cypher-explain-query.html) in the AWS CLI Command Reference. + +SDK + + + + import boto3 + from botocore.config import Config + + client = boto3.client( + 'neptunedata', + endpoint_url='https://your-neptune-endpoint:port', + config=Config(read_timeout=None, retries={'total_max_attempts': 1}) + ) + + response = client.execute_open_cypher_explain_query( + openCypherQuery="MATCH p=(a {code: 'YPO'})-[*2]->(b{code: 'LAX'}) return p", + explainMode='details' + ) + + print(response['results'].read().decode('utf-8')) + +For AWS SDK examples in other languages, see [AWS SDK](./access-graph-opencypher-sdk.html). + +awscurl + + + + awscurl https://your-neptune-endpoint:port/openCypher \ + --region us-east-1 \ + --service neptune-db \ + -X POST \ + -d "query=MATCH p=(a {code: 'YPO'})-[*2]->(b{code: 'LAX'}) return p" \ + -d "explain=details" + +###### Note + +This example assumes that your AWS credentials are configured in your environment. Replace `us-east-1` with the Region of your Neptune cluster. + +curl + + + + curl https://your-neptune-endpoint:port/openCypher \ + -d "query=MATCH p=(a {code: 'YPO'})-[*2]->(b{code: 'LAX'}) return p" \ + -d "explain=details" + +The `explain` output: + @@ -16 +75,0 @@ In `subQuery1`, `DFEChunkLocalSubQuery` (ID 3) injects the `...graph3` subquery, - curl -d "query=MATCH p=(a {code: 'YPO'})-[*2]->(b{code: 'LAX'}) return p" -k https://localhost:8182/openCypher -d "explain=details" ~