3

私はグレムリンが初めてです。

次のことを行う Pregel (GraphX) アルゴリズムがあります: 頂点のリストが与えられると、レベル N までのすべてのネットワーク近傍 (隣接する頂点、およびそれらに隣接する頂点を N 回繰り返す) を検索します。最も遠い頂点は N 以下です)

Pregel では、これは基本的に、ソース頂点から始まる最短パスのトラバーサルを実行するだけですが、N 回の反復後に停止します。

Gremlin (tinkerpop3) を使用して同じ動作を実現するにはどうすればよいですか?

ユースケースの例は次のとおりです-ソーシャルネットワークで、すべての友達、友達の友達、個人の友達の友達の友達などを見つけます...

非常に一般的な使用例のように思えますが、それを行うための構文が見つかりませんでした。

4

1 に答える 1

2

考えられる解決策:

g.V(1, 2, 3).repeat(
  bothE().dedup().store('edges').bothV().dedup().store('vertices')
).times(2).cap('vertices', 'edges')

verticesこれは、頂点の配列を含むキーedgesとエッジの配列を含むキーを持つオブジェクトを返します。

返される頂点とエッジは、距離 までの ID ( 123)を持つ頂点の近傍です2

于 2015-12-08T13:43:19.293 に答える