3
g.v(1).out('__SYSTEM_HAS_CHILD').filter{it.name == 'Journal'}.out('__SYSTEM_HAS_CHILD').filter{it.name == 'travel'}.out('__SYSTEM_HAS_CHILD').filter{it.name == 'Alaskan-Natives'}.map

アイテムを含む配列を保存してから、それぞれをループして out を実行し、it.name; にアタッチします。反復 (カウント) して、配列の長さを超えないようにします。

4

1 に答える 1

2

次のようにパイプラインを再フォーマットできます。

pipe = g.v(1)
pipe = pipe.out('__SYSTEM_HAS_CHILD').filter{it.name == 'Journal'}
pipe = pipe.out('__SYSTEM_HAS_CHILD').filter{it.name == 'travel'}
pipe = pipe.out('__SYSTEM_HAS_CHILD').filter{it.name == 'Alaskan-Natives'}
pipe.map

次に、Groovy コンストラクトを使用してそれをループにすることができます。

names = ["Journal", "travel", "Alaskan-Natives"]
pipe = g.v(1)
names.each() { name -> 
  pipe = pipe.out('__SYSTEM_HAS_CHILD').filter{it.name == name} 
}
pipe.map

注: パイプラインをマップとして返​​すのはなぜですか? パイプラインを反復するには、次のいずれかを使用できます。

pipe.iterate()
pipe.toList()

https://github.com/tinkerpop/gremlin/wiki/Gremlin-Methodsを参照してください。

于 2012-09-01T19:02:06.453 に答える