{"id":18888172,"url":"https://github.com/consol/aws-neptune-example-app","last_synced_at":"2026-02-24T13:30:14.102Z","repository":{"id":72844578,"uuid":"172092882","full_name":"ConSol/aws-neptune-example-app","owner":"ConSol","description":"AWS Neptune Example App","archived":false,"fork":false,"pushed_at":"2019-03-08T07:07:50.000Z","size":43,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-12-31T05:29:00.255Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ConSol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-02-22T15:53:17.000Z","updated_at":"2022-10-25T13:17:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"c4442333-9988-41b4-b064-3f967110a47b","html_url":"https://github.com/ConSol/aws-neptune-example-app","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ConSol%2Faws-neptune-example-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ConSol%2Faws-neptune-example-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ConSol%2Faws-neptune-example-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ConSol%2Faws-neptune-example-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ConSol","download_url":"https://codeload.github.com/ConSol/aws-neptune-example-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239859562,"owners_count":19708863,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T07:42:38.207Z","updated_at":"2026-02-24T13:30:14.073Z","avatar_url":"https://github.com/ConSol.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AWS Neptune demo application\n\n### How to deploy this demo app\n\n###### prerequisites:\n* AWS account\n* [AWS cli](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html)\n* [AWS SAM cli](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html)\n* Java 8\n* Maven\n\n###### deployment steps:\n* create an AWS Neptune instance:\n    * go to [AWS Neptune home](https://console.aws.amazon.com/neptune/home)\n    * click \"Launch Amazon Neptune\"\n    * select DB engine version and DB instance class\n    * enable or disable high availability (Multi-AZ)\n    * enter a DB instance identifier in the \"Settings\" section\n    * click \"Next\"\n    * select VPC, subnet group and availability zone\n    * leave \"Create new VPC security group\" checked\n    * leave other parameters as default and click \"Create Database\" below\n    * it will take some time (ca. 7 min) for the instance to start and become available\n* adjust the created Neptune's security group:\n    * go to the [security groups](https://console.aws.amazon.com/ec2/v2/home#SecurityGroups:sort=groupId)\n    * find the newly created security group. it should have the name \"rds-launch-wizard\" or similar.\n    * write down the security group ID\n    * add a new inbound rule allowing all incoming TCP connections from **inside** the security group:\n        * Type = Custom TCP\n        * Protocol = TCP\n        * Port Range = 0 - 65535\n        * Source = \u003c ID of the security group \u003e\n* create an S3 bucket. AWS SAM will use it for storing lambdas (ZIP archives).\n* create an IAM role for lambdas. The role should have the following (predefined by AWS) policies:\n    * [AWSLambdaBasicExecutionRole](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole$jsonEditor)\n    * [AWSLambdaVPCAccessExecutionRole](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole$jsonEditor)\n* build and deploy lambdas:\n    * `cd cloudformation`\n    * `cp vars.template.sh vars.sh`\n    * `vi vars.sh`\n    * adjust the variables:\n        * `S3_BUCKET` -- name of the created S3 bucket where lambdas will be stored.\n        * `STACK_NAME` -- name that will be used for the CloudFormation stack with lambdas.\n        * `ROLE_ARN` -- ARN of the created IAM role for lambdas.\n        * `SECURITY_GROUP_IDS` -- the ID of the security group created for Neptune.\n        * `SUBNET_IDS` -- IDs of the subnets of the VPC where the Neptune instance has been deployed.\n        * `NEPTUNE_ENDPOINT` -- Neptune's endpoint. It can be found in the [Neptune clusters](https://console.aws.amazon.com/neptune/home#dbclusters:). Click on the created cluster and find the \"Cluster endpoint\" DNS name in the \"Details\" section.\n        * `NEPTUNE_PORT` -- Neptune's port (8182 by default).\n        * `TAG_USER` -- user name for marking AWS resources with tag `user`.\n    * build and deploy lambdas: `. build.sh \u0026\u0026 . package.sh \u0026\u0026 . deploy.sh`\n* go to the [CloudFormation home](https://console.aws.amazon.com/cloudformation/home#/stacks?filter=active) and observe that a new stack with lambdas appeared\n* wait for the stack to be ready\n* go to the [AWS Lambda Functions](https://console.aws.amazon.com/lambda/home#/functions) and observe 2 AWS functions\n\n### Loading test data\n* go to the [AWS Lambda Functions](https://console.aws.amazon.com/lambda/home#/functions)\n* find the `LoadTestDataFunction` function and click on it\n* run test with any payload e.g. with the empty one: `{}`\n* the lambda should then load test data into Neptune\n\n### Executing test query\n* go to the [AWS Lambda Functions](https://console.aws.amazon.com/lambda/home#/functions)\n* find the `RunAdHocQueryFunction` function and click on it\n* call lambda (via \"Test\") with the following payload:\n```json\n{\n  \"skill1\": \"Java EE 8\",\n  \"skill2\": \"PostgreSQL\",\n  \"skill3\": \"TDD\",\n  \"certificate\": \"OCP Java SE 8\",\n  \"customer\": \"Big Brother Corporation\",\n  \"availableFrom\": 1516492800000,\n  \"availableTo\": 1516665600000\n}\n```\n* the response should be:\n```json\n[\n  {\n    \"firstName\": [\n      \"Bob\"\n    ],\n    \"lastName\": [\n      \"Smith\"\n    ],\n    \"id\": [\n      10\n    ],\n    \"position\": [\n      \"software engineer\"\n    ]\n  }\n]\n```\n* call lambda with another payload:\n```json\n{\n  \"skill1\": \"Java EE 8\",\n  \"skill2\": \"PostgreSQL\",\n  \"skill3\": \"TDD\",\n  \"certificate\": \"OCP Java SE 8\",\n  \"customer\": \"Space Logistics AG\",\n  \"availableFrom\": 1514764800000,\n  \"availableTo\": 1517443200000\n}\n```\n* the response should be:\n```json\n[\n  {\n    \"firstName\": [\n      \"Alice\"\n    ],\n    \"lastName\": [\n      \"Brown\"\n    ],\n    \"id\": [\n      20\n    ],\n    \"position\": [\n      \"senior software engineer\"\n    ]\n  },\n  {\n    \"firstName\": [\n      \"Bob\"\n    ],\n    \"lastName\": [\n      \"Smith\"\n    ],\n    \"id\": [\n      10\n    ],\n    \"position\": [\n      \"software engineer\"\n    ]\n  }\n]\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconsol%2Faws-neptune-example-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fconsol%2Faws-neptune-example-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconsol%2Faws-neptune-example-app/lists"}