Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Uso de .NET para conectarse a una instancia de base de datos de Neptune
importante
La elección de la versión correcta del controlador Apache TinkerPop Gremlin es fundamental para la compatibilidad con la versión del motor Neptune. El uso de una versión incompatible puede provocar fallos de conexión o un comportamiento inesperado. Para obtener información detallada sobre la compatibilidad de versiones, consulteAcceso al gráfico de Neptune con Gremlin.
La siguiente sección contiene un ejemplo de código escrito en C# que se conecta a una instancia de base de datos de Neptune y realiza un recorrido de Gremlin.
La conexiones a Amazon Neptune deben realizarse desde una instancia de Amazon EC2 que esté en la misma nube privada virtual (VPC) que su instancia de base de datos de Neptune. Este código de muestra se ha probado en una instancia de Amazon EC2 que ejecuta Ubuntu.
Antes de comenzar, haga lo siguiente:
Instale .NET en la instancia de Amazon EC2. Para obtener instrucciones de instalación de .NET en varios sistemas operativos, incluidos Windows, Linux y macOS, consulte el artículo de introducción a .NET
. Instale Gremlin.NET ejecutando
dotnet add package gremlin.netpara su paquete. Para obtener más información, consulte Gremlin.neten la documentación. TinkerPop
Para conectarse a Neptune mediante Gremlin.NET
-
Creación de un nuevo proyecto de .NET.
dotnet new console -o gremlinExample -
Cambie al directorio nuevo del proyecto.
cd gremlinExample -
Copie lo siguiente en el archivo
Program.cs.your-neptune-endpointSustitúyala por la dirección de la instancia de base de datos de Neptune.Para obtener información acerca de cómo encontrar la dirección de la instancia de base de datos de Neptune, consulte la sección Conexión a los puntos de conexión de Amazon Neptune.
using System; using System.Threading.Tasks; using System.Collections.Generic; using Gremlin.Net; using Gremlin.Net.Driver; using Gremlin.Net.Driver.Remote; using Gremlin.Net.Structure; using static Gremlin.Net.Process.Traversal.AnonymousTraversalSource; namespace gremlinExample { class Program { static void Main(string[] args) { try { var endpoint = "your-neptune-endpoint"; // This uses the default Neptune and Gremlin port, 8182 var gremlinServer = new GremlinServer(endpoint, 8182, enableSsl: true ); var gremlinClient = new GremlinClient(gremlinServer); var remoteConnection = new DriverRemoteConnection(gremlinClient, "g"); var g = Traversal().WithRemote(remoteConnection); g.AddV("Person").Property("Name", "Justin").Iterate(); g.AddV("Custom Label").Property("name", "Custom id vertex 1").Iterate(); g.AddV("Custom Label").Property("name", "Custom id vertex 2").Iterate(); var output = g.V().Limit<Vertex>(3).ToList(); foreach(var item in output) { Console.WriteLine(item); } } catch (Exception e) { Console.WriteLine("{0}", e); } } } } -
Escriba el comando siguiente para ejecutar el ejemplo:
dotnet runLa consulta de Gremlin al final de este ejemplo devuelve un recuento de un solo vértice con fines de prueba. Después, se imprime en la consola.
nota
La parte final de la consulta de Gremlin,
Next(), es necesaria para enviar el recorrido al servidor para su evaluación. Si no incluye ese método u otro equivalente, la consulta no se envía a la instancia de base de datos de Neptune.Los siguientes métodos envían la consulta a la instancia de base de datos de Neptune:
ToList()ToSet()Next()NextTraverser()Iterate()
Utilice
Next()si necesita que los resultados de la consulta se serialicen y devuelvan, oIterate()si no es así.En el ejemplo anterior se devuelve una lista utilizando el recorrido
g.V().Limit(3).ToList(). Para otras consultas, sustitúyalo por otro recorrido de Gremlin con uno de los métodos de finalización adecuados.