Skip to content

aws-samples/amazon-neptune-samples

Amazon Neptune Samples

The following repository contains application and code examples using Amazon Neptune Database and Amazon Neptune Analytics. The projects contained here are provided as sample code and are maintained as "best-effort". Further modifications may be necessary to deploy any of these samples in a production environment.

For a list of other utilities and open source projects maintained by the Amazon Neptune team, see the list of Related Works further below.

NEW Projects

  • (June 2025) NeptuneGS: Neptune Analytics GraphStorm (Fraud Detection Example): NeptuneGS (neptune-gs) is a Python package that streamlines the preparation and processing of Amazon Neptune data for use with GraphStorm, allowing users of Neptune to easily integrate graph machine learning into their workflow and enrich their graphs with embeddings and predictions from a Graph Neural Network (GNN) model.

Sample Projects

This repository contains the following sample projects:

Related Works

Amazon Neptune maintains a number of production-ready utilities in the /aws GitHub organization, as well as semi-regular maintained utilities in the /awslabs GitHub organization. A list of these other repos can be found here:

Amazon Neptune Open Source Projects

Projects fully maintained in the /aws GitHub organization:

  • GraphRAG Toolkit: The graphrag-toolkit is a collection of Python tools for building graph-enhanced Generative AI applications.
  • Graph Notebook: Integration with Jupyter Notebook and JupyterLab for interacting with graph databases, including Amazon Neptune.
  • Graph Explorer: A React-based web application that enables users to visualize both property graph and RDF data and explore connections between data without having to write graph queries.
  • Amazon Neptune for GraphQL: The Amazon Neptune utility for GraphQL™ is a Node.js command-line utility to help with the creation and maintenance of a GraphQL API for the Amazon Neptune Database or Neptune Analytics graph.
  • Neptune Export: Exports Amazon Neptune property graph data to CSV or JSON, or RDF graph data to Turtle.
  • Neptune Gremlin Client: A Java Gremlin client for Amazon Neptune that allows you to change the endpoints used by the client as it is running. Includes an endpoint refresh agent that can get cluster topology details, and update the client on a periodic basis. You can supply your own custom endpoint selectors to configure the client for a subset of instances in your cluster based on tags, instance types, instance IDs, Availability Zones, etc.
  • Neptune JDBC Driver: This driver provides read-only JDBC connectivity for the Amazon Neptune service using SQL, Gremlin, openCypher and SPARQL queries.
  • Amazon Neptune CSV-to-RDF Converter: A tool for Amazon Neptune that converts property graphs stored as comma separated values into RDF graphs.
  • Amazon Neptune SigV4 Signer: A library for sending AWS Signature Version 4 signed requests over HTTP to Amazon Neptune.
  • Amazon Neptune Gremlin Java SigV4: An extension to GremlinDriver with a custom channelizer that enables AWS Signature Version 4 signed requests to Amazon Neptune.
  • Amazon Neptune SPARQL Java SigV4: A SPARQL client for Amazon Neptune that includes AWS Signature Version 4 signing. Implemented as an RDF4J repository and Jena HTTP Client.
  • Amazon Neptune DotNet SigV4: https://github.com/aws/amazon-neptune-gremlin-dotnet-sigv4
  • AWS SDK Pandas: Pandas integration with various AWS services, include Amazon Neptune. Sample notebook showing Neptune integration is here.
  • Amazon Athena Query Federation SDK: Provides integration between varoius AWS services and Athena to allow query of datasets in other data stores through Athena. Documentation regarding Neptune's integration can be found here.

Amazon Neptune AWSLabs Tools

Projects regularly maintained in the /awslabs GitHub organization:

  • Amazon Neptune Tools:
    • CSV Gremlin: Convert Amazon Neptune format CSV files into Gremlin steps that can be used to load the data.
    • CSV-to-Neptune Bulk Format: A utility to identify nodes and edges in source CSV data file(s) and generate the Amazon Neptune gremlin load data format files.
    • Drop Graph: A Python script for performantly deleting all data from a Neptune Database.
    • Dynamic Custom Endpoints: Dynamic Custom Endpoints allows you to create Amazon Neptune custom endpoints for a Neptune cluster based on custom specifications with application-meaningful criteria.
    • Export Neptune to Elasticsearch: This solution allows you to index existing data in an Amazon Neptune database in Elasticsearch/OpenSearch before enabling Neptune's full-text search integration.
    • GraphML-to-CSV: A utility to convert GraphML files into the CSV format that is used by Amazon Neptune for Bulk Loading.
    • Neo4j-to-Neptune: A command-line utility for migrating data from Neo4j to Neptune.
    • Neptune Gremlin JS: An SDK for querying an Amazon Neptune graph database using gremlin-javascript.
    • Neptune Python Utils: A library that simplifies using Gremlin-Python to connect to Amazon Neptune.
    • Neptune Serverless Evaluator: Evaluates workloads to determine if Neptune Serverless is more cost effective versus using Neptune provisioned instances.
    • Neptune Streams Utils: This project includes example Neptune Streams handlers and build scripts, and a command-line tool that installs a handler in the Neptune Streams polling framework.
    • Archived/moved projects:

Other Example Projects Using Amazon Neptune

Projects hosted in other repositories:

Contributing

Please see the CONTRIBUTING.md file if you are interested in adding your own example project in this repository.

License Summary

This sample code is made available under a modified MIT license. See the LICENSE file.

About

Samples and documentation for using the Amazon Neptune graph database service

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 26