本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 .NET 連線至 Neptune 資料庫執行個體
如果可以,請務必使用最新版本的 Apache TinkerPop 。NET 引擎版本支援的 Gremlin 用戶端 Gremlin.NetGremlin.Net
版本通常會與 TinkerPop Java Gremlin 用戶端 資料表中所述的版本一致。
下節包含以 C# 撰寫的程式碼範例,其會連線至 Neptune 資料庫執行個體並執行 Gremlin 周遊。
與 Amazon Neptune 的連線必須來自與 Neptune 資料庫EC2執行個體位於相同虛擬私有雲端 (VPC) 中的 Amazon 執行個體。此範例程式碼已在執行 Ubuntu 的 Amazon EC2執行個體上測試。
開始之前,請執行以下動作:
在 Amazon EC2執行個體上安裝 。NET若要取得在多個作業系統上安裝 .NET 的指示,包括 Windows、Linux 和 macOS ,請參閱開始使用 。NET
dotnet add package gremlin.net
為套件執行 ,以安裝 GremlinNET.。如需詳細資訊,請參閱 TinkerPop 文件中的 Gremlin.NET。
使用 Gremlin 連線至 Neptune。NET
-
建立新的 .NET 專案。
dotnet new console -o gremlinExample
-
將目錄變更為新的專案目錄。
cd gremlinExample
-
將以下內容複製到
Program.cs
檔案。Replace (取代)your-neptune-endpoint
以及您 Neptune 資料庫執行個體的地址。如需尋找 Neptune 資料庫執行個體地址的相關資訊,請參閱 連線至 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); } } } }
-
輸入下列命令以執行範例:
dotnet run
本範例結尾的 Gremlin 查詢會傳回單一頂點的數量,以進行測試。接著會列印至主控台。
注意
Gremlin 查詢最後的部分
Next()
用來提交周遊至伺服器,以供進行評估。如果您未包含該方法或其他同等方法,該查詢不會提交到 Neptune 資料庫執行個體。以下方法會查詢提交至 Neptune 資料庫執行個體:
ToList()
ToSet()
Next()
NextTraverser()
Iterate()
如果您需要序列化並傳回查詢結果,請使用
Next()
,或者如果不需要,則使用Iterate()
。上述範例會使用
g.V().Limit(3).ToList()
周遊傳回清單。若要查詢其他內容,將其換成其他使用其中一個適當之結束方法的 Gremlin 周遊。