Accessing a Neptune graph with Gremlin
Amazon Neptune is compatible with Apache TinkerPop3 and Gremlin. This means
that you can connect to a Neptune DB instance and use the Gremlin traversal language to query the
graph (see The
Graph
Different Neptune engine versions support different Gremlin versions. Check the engine release page of the Neptune version you are running to determine which Gremlin release it supports.
A traversal in Gremlin is a series of chained steps. It starts at a
vertex (or edge). It walks the graph by following the outgoing edges of each vertex and then the
outgoing edges of those vertices. Each step is an operation in the traversal. For more
information, see The
Traversal
There are Gremlin language variants and support for Gremlin access in various programming
languages. For more information, see On Gremlin Language Variants
This documentation describes how to access Neptune with the following variants and programming languages.
As discussed in Encrypting connections to your Amazon Neptune database with SSL/HTTPS, you must use Transport Layer Security/Secure Sockets Layer (TLS/SSL) when connecting to Neptune in all AWS Regions.
Gremlin-Groovy
The Gremlin Console and HTTP REST examples in this section use the Gremlin-Groovy variant. For more information about the Gremlin Console and Amazon Neptune, see the Using Gremlin to access graph data in Amazon Neptune section of the Quick Start.
Gremlin-Java
The Java sample is written with the official TinkerPop3 Java implementation and uses the Gremlin-Java variant.
Gremlin-Python
The Python sample is written with the official TinkerPop3 Python implementation and uses the Gremlin-Python variant.
The following sections walk you through how to use the Gremlin Console, REST over HTTPS, and various programming languages to connect to a Neptune DB instance.
Before you begin, you must have the following:
-
A Neptune DB instance. For information about creating a Neptune DB instance, see Creating an Amazon Neptune cluster.
-
An Amazon EC2 instance in the same virtual private cloud (VPC) as your Neptune DB instance.
For more information about loading data into Neptune, including prerequisites, loading formats, and load parameters, see Loading data into Amazon Neptune.
Topics
- Set up the Gremlin console to connect to a Neptune DB instance
- Using the HTTPS REST endpoint to connect to a Neptune DB instance
- Java-based Gremlin clients to use with Amazon Neptune
- Using Python to connect to a Neptune DB instance
- Using .NET to connect to a Neptune DB instance
- Using Node.js to connect to a Neptune DB instance
- Using Go to connect to a Neptune DB instance
- Gremlin query hints
- Gremlin query status API
- Gremlin query cancellation
- Support for Gremlin script-based sessions
- Gremlin transactions in Neptune
- Using the Gremlin API with Amazon Neptune
- Caching query results in Amazon Neptune Gremlin
- Making efficient upserts with Gremlin mergeV() and mergeE() steps
- Making efficient Gremlin upserts with fold()/coalesce()/unfold()
- Analyzing Neptune query execution using Gremlin explain
- Using Gremlin with the Neptune DFE query engine