2012-08-30 66 views
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 

也許用項存儲一個數組,然後循環遍歷每一個執行一個輸出並將其附加到它。並重復(計數)以確保我們不會繼續處理數組的長度。Gremlin查詢:將其寫入循環中的另一種方法

回答

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