2

forグレムリンでループを書くにはどうすればよいですか?何かのようなもの:

for i=0;i<10:i++:
  println hello number i

また、ノードを反復処理し、各ノードで関数を呼び出そうとしましたeg(count):

gremlin> g.v(782).in
==> v[2746934]
==> v[2581232]
==> v[1554286]
==> v[780]
gremlin> g.v(78).in.loop(2){it.loops < 4}.count()
==> class java.lang.NullPointerException : null

私の主な目的は、forループを実行し、がないノードの値を出力することinEです。つまり、それらの次数はゼロです。

4

2 に答える 2

2

filter{!it.inE.hasNext()}フルカウント/反復が必要ないため、より効率的です。

于 2012-11-19T22:11:54.120 に答える
1

グラフ内のすべてのノードを反復処理して、エッジにないノードの数を取得する場合は、次のようにすることができます。

gremlin> g = TinkerGraphFactory.createTinkerGraph()
==>tinkergraph[vertices:6 edges:6]
gremlin> g.V.filter{!it.inE.hasNext()}.count()
==>2

「印刷」を実行するなどの副作用を実行する場合は、副作用の手順を使用します。

gremlin> g.V.filter{!it.inE.hasNext()}.sideEffect{println it.name}
marko
==>v[1]
peter
==>v[6]

グレムリンターミナルがすでに印刷しているため、2回印刷されていることに注意してください。ターミナルにいる場合は、次のようにすることをお勧めします。

gremlin> g.V.filter{!it.inE.hasNext()}.name                       
==>marko
==>peter
于 2012-11-17T10:52:25.593 に答える