Amazon Neptune · Arazzo Workflow

Amazon Neptune openCypher Create and Read Node

Version 1.0.0

Create a node over the openCypher HTTP endpoint, then read nodes back to confirm the write.

1 workflow 1 source API 1 provider
View Spec View on GitHub DatabaseGraph DatabaseGremlinNeptuneProperty GraphRDFSPARQLArazzoWorkflows

Provider

amazon-neptune

Workflows

opencypher-create-and-read-node
Create a node via openCypher HTTP, then match nodes to confirm.
Creates a node with a CREATE statement, then runs a MATCH query to read nodes back.
2 steps inputs: label, name outputs: created, results
1
createNode
executeOpenCypherQuery
Create a node with the supplied label and name property using a CREATE statement on the form-encoded openCypher endpoint.
2
readNodes
executeOpenCypherQuery
Run a MATCH query to read nodes back and confirm the new node exists.

Source API Descriptions

Arazzo Workflow Specification

amazon-neptune-opencypher-create-and-read-node-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Amazon Neptune openCypher Create and Read Node
  summary: Create a node over the openCypher HTTP endpoint, then read nodes back to confirm the write.
  description: >-
    A write-then-verify pattern over the Neptune openCypher HTTP endpoint. The
    workflow creates a node with the supplied label and name using a CREATE
    statement submitted as a form-encoded query, then runs a MATCH query to read
    nodes back and confirm the write landed. Both requests use the
    application/x-www-form-urlencoded content type required by the openCypher HTTP
    endpoint. Every step spells out its request inline so the flow can be read and
    executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: neptuneOpenCypherApi
  url: ../openapi/amazon-neptune-opencypher-openapi.yml
  type: openapi
workflows:
- workflowId: opencypher-create-and-read-node
  summary: Create a node via openCypher HTTP, then match nodes to confirm.
  description: >-
    Creates a node with a CREATE statement, then runs a MATCH query to read
    nodes back.
  inputs:
    type: object
    required:
    - label
    - name
    properties:
      label:
        type: string
        description: The node label to create (e.g. Person).
      name:
        type: string
        description: The value for the node's name property.
  steps:
  - stepId: createNode
    description: >-
      Create a node with the supplied label and name property using a CREATE
      statement on the form-encoded openCypher endpoint.
    operationId: executeOpenCypherQuery
    requestBody:
      contentType: application/x-www-form-urlencoded
      payload:
        query: "CREATE (n:$inputs.label {name: '$inputs.name'}) RETURN n"
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      created: $response.body#/results
  - stepId: readNodes
    description: >-
      Run a MATCH query to read nodes back and confirm the new node exists.
    operationId: executeOpenCypherQuery
    requestBody:
      contentType: application/x-www-form-urlencoded
      payload:
        query: "MATCH (n:$inputs.label) RETURN n LIMIT 10"
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      results: $response.body#/results
  outputs:
    created: $steps.createNode.outputs.created
    results: $steps.readNodes.outputs.results