Amazon Neptune utility for GraphQL()

in src/help.js [14:86]


Amazon Neptune utility for GraphQL(TM) schemas and resolvers

Description
***********
Create a GraphQL API, Schema and Resolver for Amazon Neptune.
You have the option to start from an existing Amazon Neptune database, or a property graph database schema, or a GraphQL schema. 
The utility generates the GraphQL Schema and the Resolver code to query Amazon Neptune via a GraphQL server.
Optionally, the utility can create, update or remove an AppSync GraphQL API, and the AWS resources to query 
the Amazon Neptune database, or a CDK file. The utility generates an intermediate GraphQL schema that includes the 
directives that inform the resolver how to query the graph databases. If you input a GraphQL schema without graph 
database directives the utility inference them.

Input options:
- Amazon Neptune endpoint
- Property graph database schema  
- GraphQL schema

Output:
- AppSync GraphQL API
- GraphQL schema without directives, the default name is output.schema.graphql
- GraphQL schema with directives, the default name is output.source.schema.graphql
- GraphQL resolver Javascript resolver, the default name is output.lambda.index.js
- A zip file with the Lambda code, default name is output.lambda.zip
- A file with the list of AWS resources created
- CDK file with the Lambda zip file
- A zip file of Apollo Server or Subgraph deployment artifacts

Use cases
***********
Input an Amazon Neptune database endpoint
 - the utility capture the graph database schema and output it as file
 - the utility inference and output the GraphQL resolver, including operations like
   queries and mutations.
 - the utility also output the enriched schema with directives. It can be edited and
   used as input to the utility.

Input a GraphQL schema with no directives
 - the utility inference and output the GraphQL resolver, including operations like
   queries and mutations.
 - the utility also output the enriched schema with directives. It can be edited and
   used as input to the utility.

Input a GraphQL schema with directives
 - the utility inference and output the GraphQL resolvers, and a GraphQL schema 
   without directives.

Input a property graph database schema
 - the utility inference and output the GraphQL resolver, including operations like
   queries and mutations.
 - the utility also output the enriched schema with directives. It can be edited and
   used as input to the utility.
 - file format: { 
    "nodeStructures": [
        { "label":"nodelabel1", 
            "properties": [
                { "name":"name1", "type":"type1" }
            ]
        },
        { "label":"nodelabel2", 
            "properties": [
                { "name":"name2", "type":"type1" }
        ]}
    ],
    "edgeStructures": [
        { "label":"label1",
            "directions": [
                { "from":"nodelabel1", "to":"nodelabel2", "relationship":"ONE-ONE|ONE-MANY|MANY-MANY"  }
            ], 
            "properties": [
                { "name":"name1", "type":"type1" }
            ]
        }]
    }