2017-12-20 4 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で失敗します。それでは、どの場合 - (> gephi Datastax)とgremlinを使用したdatastaxからgephiへのストリームデータ

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

私の質問は、上に概説し、セットアップを使用して、別のリモート接続からデータをストリーミングする方法があるかどうかである。これらは、2つの接続されていますか?回避策がありますか?

注:すべての接続は成功し、ローカルのgephiストリーミングはTinkerGraph.createModern()でテストされていますが、問題なく動作します。

答えて

4

GephiプラグインにはローカルのGraphインスタンスが必要です。 :remoteを使用してGremlinコンソールに接続すると、そのインスタンスはなくなります(つまり、Graphインスタンスがサーバー上のどこかにあり、そこから処理するサーバーに要求を:>で送信しています)。

リモートのGraphインスタンスしか提供していないDSEグラフ、Neptune、CosmosDBなどのグラフでは、Gephiプラグインの作業を行う唯一の方法はtaking a subgraphであり、Gremlinコンソールに表示されます。そして、あなたが見つけたように、TinkerGraph(つまりサブグラフの所有者)はGephiプラグインでうまく動作します。

+0

「サブグラフをとり、それをあなたのGremlinコンソールに持ってきてください」ということを教えてください。リモートサブグラフをディスクに保存してからローカルグラフにロードする必要がありますか?ありがとう! – zhibo

+1

接続しているグラフデータベースによっては、 'subgraph()'操作の結果として単にTinkerGraphを返すことができます。 TinkerGraphは、Gryo接続で完全にシリアライズ可能である必要があります。そのTinkerGraphのサイズに応じて、受け入れられるかもしれません。使用しているグラフがTinkerGraphのシリアル化を直接サポートしていない場合、そのTinkerGraphをStringに書き込んでStringを返すことができます。サブグラフをリモートディスクに書き込んで、潜在的にそこに置くこともできると思います。 –

関連する問題