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" }
]
}]
}