ExecuteOpenCypherQuery - Neptune Data API
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 (PDF).

ExecuteOpenCypherQuery

Executes an openCypher query. See Accessing the Neptune Graph with openCypher for more information.

Neptune supports building graph applications using openCypher, which is currently one of the most popular query languages among developers working with graph databases. Developers, business analysts, and data scientists like openCypher's declarative, SQL-inspired syntax because it provides a familiar structure in which to querying property graphs.

The openCypher language was originally developed by Neo4j, then open-sourced in 2015 and contributed to the openCypher project under an Apache 2 open-source license.

Note that when invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows one of the following IAM actions in that cluster, depending on the query:

Note also that the neptune-db:QueryLanguage:OpenCypher IAM condition key can be used in the policy document to restrict the use of openCypher queries (see Condition keys available in Neptune IAM data-access policy statements).

Request Syntax

POST /opencypher HTTP/1.1 Content-type: application/json { "query": "string", "parameters": "string" }

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in JSON format.

query

The openCypher query string to be executed.

Type: String

Required: Yes

parameters

The openCypher query parameters for query execution. See Examples of openCypher parameterized queries for more information.

Type: String

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "results": JSON value }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

results

The openCypherquery results.

Type: JSON value

Errors

For information about the errors that are common to all actions, see Common Errors.

BadRequestException

Raised when a request is submitted that cannot be processed.

HTTP Status Code: 400

CancelledByUserException

Raised when a user cancelled a request.

HTTP Status Code: 500

ClientTimeoutException

Raised when a request timed out in the client.

HTTP Status Code: 408

ConcurrentModificationException

Raised when a request attempts to modify data that is concurrently being modified by another process.

HTTP Status Code: 500

ConstraintViolationException

Raised when a value in a request field did not satisfy required constraints.

HTTP Status Code: 400

FailureByQueryException

Raised when a request fails.

HTTP Status Code: 500

IllegalArgumentException

Raised when an argument in a request is not supported.

HTTP Status Code: 400

InvalidArgumentException

Raised when an argument in a request has an invalid value.

HTTP Status Code: 400

InvalidNumericDataException

Raised when invalid numerical data is encountered when servicing a request.

HTTP Status Code: 400

InvalidParameterException

Raised when a parameter value is not valid.

HTTP Status Code: 400

MalformedQueryException

Raised when a query is submitted that is syntactically incorrect or does not pass additional validation.

HTTP Status Code: 400

MemoryLimitExceededException

Raised when a request fails because of insufficient memory resources. The request can be retried.

HTTP Status Code: 500

MissingParameterException

Raised when a required parameter is missing.

HTTP Status Code: 400

ParsingException

Raised when a parsing issue is encountered.

HTTP Status Code: 400

PreconditionsFailedException

Raised when a precondition for processing a request is not satisfied.

HTTP Status Code: 400

QueryLimitExceededException

Raised when the number of active queries exceeds what the server can process. The query in question can be retried when the system is less busy.

HTTP Status Code: 500

QueryLimitException

Raised when the size of a query exceeds the system limit.

HTTP Status Code: 400

QueryTooLargeException

Raised when the body of a query is too large.

HTTP Status Code: 400

TimeLimitExceededException

Raised when the an operation exceeds the time limit allowed for it.

HTTP Status Code: 500

TooManyRequestsException

Raised when the number of requests being processed exceeds the limit.

HTTP Status Code: 429

UnsupportedOperationException

Raised when a request attempts to initiate an operation that is not supported.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific Amazon SDKs, see the following: