2017-12-20 27 views
1

Datastax Enterprise에 번들 된 gremlin-console (v3.2.7)을 사용하고 있습니다. 시작시 자동으로 원격 gremlin 서버에 연결됩니다. 다음으로, 오른쪽 그래프 :remote config alias g graph.g에 액세스하기위한 별칭을 만듭니다. 그런 다음 gephi (v0.9.2) :remote connect tinkerpop.gephi에 연결합니다. 그러나 지금부터 그래프 g을 트래버스 할 수 없으므로 :> g은 논리적으로는 java.lang.StackOverflowError으로 실패합니다. 다음은 두 개의 연결됩니다gremlin을 사용하여 datastax에서 gephi 로의 스트림 데이터

gremlin> :remote list 
==>0 - Gremlin Server - [localhost/127.0.0.1:8182]-[<uuid>] 
==>*1 - Gephi - [workspace1] 

내 질문이 위에 설명 된 설정을 사용하여 다른 하나 개의 원격 연결에서 데이터를 스트리밍하는 방법입니다 여부 - 그래서 어떻게하면 (Datastax> gephi가)와? 그렇지 않은 경우 해결 방법이 있습니까?

참고 : 모든 연결은 성공적이며 로컬 gephi 스트리밍 테스트는 TinkerGraph.createModern()으로 완벽하게 작동합니다.

답변

4

Gephi 플러그인에는 로컬 Graph 인스턴스가 필요합니다. :remote을 사용하여 Gremlin Console에 연결할 때 (예 : Graph 인스턴스가 서버에 있고 처리 할 서버에 :> 요청을 보내고 있습니다).

원격 Graph 인스턴스 만 제공하는 DSE 그래프, Neptune, CosmosDB 및 이와 유사한 그래프는 Gephi 플러그인 작동을 가능하게하는 유일한 방법은 taking a subgraph이며,이를 Gremlin Console로 가져 오는 것입니다. 그런 다음 찾은 것처럼 TinkerGraph (즉, 하위 그래프 보유자)는 Gephi 플러그인으로 정상적으로 작동합니다.

+0

"그래프를 가져 와서 Gremlin Console에 가져 오는 것"을 자세히 설명해 주시겠습니까? 원격 하위 그래프를 디스크에 저장 한 다음 로컬 그래프로 다시로드해야합니까? 감사! – zhibo

+1

연결된 그래프 데이터베이스에 따라'subgraph()'연산의 결과로 TinkerGraph를 간단하게 반환 할 수 있습니다. TinkerGraph는 Gryo 연결로 완전히 직렬화 할 수 있어야합니다. 해당 TinkerGraph의 크기에 따라 허용 될 수도 있고 허용되지 않을 수도 있습니다. 사용하고있는 그래프가 TinkerGraph 직렬화를 직접 지원하지 않는 경우, TinkerGraph를 String에 써서 String을 반환 할 수 있습니다. 나는 당신이 원격 디스크에 서브 그래프를 작성하고 잠재적으로 그 서브 그래프를 얻을 수 있다고 생각한다. –