.NET를 사용하여 Neptune DB 인스턴스에 연결 - Amazon Neptune

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

.NET를 사용하여 Neptune DB 인스턴스에 연결

가능하면 항상 최신 버전의 Apache 를 사용합니다 TinkerPop .NET 엔진 버전이 지원하는 Gremlin 클라이언트, Gremlin.Net. 최신 버전에는 클라이언트의 안정성, 성능 및 사용성을 개선하는 여러 버그 수정이 포함되어 있습니다. 사용할 Gremlin.Net 버전은 일반적으로 Java Gremlin 클라이언트 의 표에 설명된 버전과 TinkerPop 일치합니다. Apache TinkerPop Java Gremlin 클라이언트

다음 섹션에는 Neptune DB 인스턴스에 연결하여 Gremlin 순회를 실행하는 C#로 작성된 코드 예제가 나옵니다.

Amazon Neptune에 대한 연결은 Neptune DB EC2 인스턴스와 동일한 가상 프라이빗 클라우드(VPC)의 Amazon 인스턴스에서 이루어져야 합니다. 이 샘플 코드는 Ubuntu를 실행하는 Amazon EC2 인스턴스에서 테스트되었습니다.

시작하기 전에 다음을 수행하십시오.

  • Amazon EC2 인스턴스에 NET를 설치합니다. Windows, Linux 및 macOS를 포함한 여러 운영 체제에 NET를 설치하는 방법에 대한 지침은 시작하기를 참조하세요.NET

  • 패키지에 dotnet add package gremlin.net 대해 를 실행하여 GremlinNET을 설치합니다. 자세한 내용은 TinkerPop 설명서의 GremlinNET을 참조하세요.

Gremlin을 사용하여 Neptune에 연결하는 방법.NET
  1. 새 .NET 프로젝트를 생성합니다.

    dotnet new console -o gremlinExample
  2. 새 프로젝트 디렉터리로 디렉터리를 변경합니다.

    cd gremlinExample
  3. 다음을 Program.cs 파일로 복사합니다. Replace your-neptune-endpoint Neptune DB 인스턴스의 주소를 사용합니다.

    사용자의 Neptune DB 인스턴스 주소를 찾는 방법은 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); } } } }
  4. 다음 명령을 입력하여 샘플을 실행합니다.

    dotnet run

    이 예제 끝부분의 Gremlin 쿼리는 테스트를 위한 단일 버텍스 카운트를 반환합니다. 이후 콘솔로 인쇄됩니다.

    참고

    Gremlin 쿼리의 최종 부분 Next()에서 순회를 서버로 제출하여 평가를 받아야 합니다. 이 메서드 또는 이와 유사한 메서드를 포함시키지 않는 경우에는 쿼리가 Neptune DB 인스턴스로 제출되지 않습니다.

    다음 메서드는 쿼리를 Neptune DB 인스턴스로 제출합니다.

    • ToList()

    • ToSet()

    • Next()

    • NextTraverser()

    • Iterate()

    쿼리 결과를 직렬화하고 반환해야 하는 경우 Next()를, 그렇지 않은 경우에는 Iterate()를 사용합니다.

    앞의 예제는 g.V().Limit(3).ToList() 순회를 사용하여 목록을 반환합니다. 다른 것을 쿼리하려면 해당하는 종료 메서드 중 하나를 사용하여 다른 Gremlin 순회로 바꿉니다.