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

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

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

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

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

Amazon Neptune에 대한 연결은 Neptune DB 인스턴스와 동일한 Virtual Private Cloud(VPC)에 있는 Amazon EC2 인스턴스에서 이루어져야 합니다. 샘플 코드는 Ubuntu를 실행하는 Amazon EC2 인스턴스에서 테스트했습니다.

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

  • Amazon EC2 인스턴스에 .NET을 설치합니다. Windows, Linux 및 macOS 등 여러 운영 체제에 .NET을 설치하는 방법은 .NET 시작하기를 참조하십시오.

  • 패키지에서 dotnet add package gremlin.net을 실행하여 Gremlin.NET을 설치합니다. 자세한 내용은 설명서의 Gremlin.net을 참조하십시오. TinkerPop

Gremlin.NET을 사용하여 Neptune에 연결하려면
  1. 새로운 .NET 프로젝트 생성.

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

    cd gremlinExample
  3. 다음을 Program.cs 파일로 복사합니다. 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 순회로 바꿉니다.