Verwenden. NETum eine Verbindung zu einer Neptune-DB-Instance herzustellen - Amazon Neptune

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden. NETum eine Verbindung zu einer Neptune-DB-Instance herzustellen

Wenn Sie können, verwenden Sie immer die neueste Version des Apache TinkerPop . NETGremlin-Client, Gremlin.Net, den Ihre Engine-Version unterstützt. Neuere Versionen enthalten zahlreiche Fehlerbehebungen, die Stabilität, Leistung und Benutzerfreundlichkeit des Clients verbessern. Die zu Gremlin.Net verwendende Version entspricht in der Regel den TinkerPop Versionen, die in der Tabelle für den Java-Gremlin-Client beschrieben sind.

Der folgende Abschnitt enthält ein in C# geschriebenes Codebeispiel, das eine Verbindung mit einer Neptune-DB-Instance herstellt und eine Gremlin-Traversierung ausführt.

Verbindungen zu Amazon Neptune müssen von einer EC2 Amazon-Instance in derselben Virtual Private Cloud (VPC) wie Ihre Neptune-DB-Instance erfolgen. Dieser Beispielcode wurde auf einer EC2 Amazon-Instance getestet, auf der Ubuntu ausgeführt wird.

Bevor Sie beginnen, führen Sie die folgenden Schritte aus:

  • Installieren. NETauf der EC2 Amazon-Instance. Um Anweisungen zur Installation zu erhalten. NETauf mehreren Betriebssystemen, einschließlich Windows, Linux und macOS, siehe Erste Schritte mit. NET.

  • Installiere Gremlin. NETindem du nach deinem Paket dotnet add package gremlin.net läufst. Weitere Informationen finden Sie unter Gremlin. NETin der Dokumentation. TinkerPop

Um mit Gremlin eine Verbindung zu Neptune herzustellen. NET
  1. Erstelle ein neues. NETProjekt.

    dotnet new console -o gremlinExample
  2. Ändern Sie die Verzeichnisse in das neue Projektverzeichnis.

    cd gremlinExample
  3. Kopieren Sie Folgendes in die Program.cs-Datei. Ersetzen your-neptune-endpoint mit der Adresse Ihrer Neptune-DB-Instance.

    Informationen zum Ermitteln der Adresse Ihrer Neptune-DB-Instance finden Sie im Abschnitt Verbinden mit Amazo-Neptune-Endpunkten.

    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); } } } }
  4. Geben Sie den folgenden Befehl ein, um das Beispiel auszuführen:

    dotnet run

    Die Gremlin-Abfrage am Ende dieses Beispiels gibt die Anzahl eines einzelnen Knotens zu Testzwecken zurück. Sie wird dann in der Konsole ausgegeben.

    Anmerkung

    Der letzte Teil der Gremlin-Abfrage, Next(), ist für die Übermittlung der Traversierung zur Auswertung an den Server erforderlich. Wenn Sie diese oder eine gleichwertige Methode nicht einschließen, wird die Abfrage nicht an die Neptune-DB-Instance übermittelt.

    Die folgenden Methoden senden die Abfrage an die Neptune-DB-Instance:

    • ToList()

    • ToSet()

    • Next()

    • NextTraverser()

    • Iterate()

    Verwenden Sie Next(), wenn die Abfrageergebnisse serialisiert und zurückgegeben werden sollen, andernfalls Iterate().

    Das vorherige Beispiel gibt eine Liste über die Traversierung g.V().Limit(3).ToList() zurück. Um etwas anderes abzufragen, ersetzen Sie diese durch eine andere Gremlin-Traversierung mit einer der entsprechenden Ending-Methoden.