2017-09-26 59 views

回答

5

使用TinkerPop有關的現代玩具圖作爲一個例子,你可以做什麼像這樣:

gremlin> g.V().as('a'). 
......1> map(outE('created').count()).as('count'). 
......2> select('a','count').by(valueMap()).by() 
==>[a:[name:[marko],age:[29]],count:1] 
==>[a:[name:[vadas],age:[27]],count:0] 
==>[a:[name:[lop],lang:[java]],count:0] 
==>[a:[name:[josh],age:[32]],count:2] 
==>[a:[name:[ripple],lang:[java]],count:0] 
==>[a:[name:[peter],age:[35]],count:1] 

它返回「a」中頂點的屬性和「創建」邊的數量。您也可以選擇使用project()

gremlin> g.V(). 
......1> project('a','knows','created'). 
......2>  by(valueMap()). 
......3>  by(outE('knows').count()). 
......4>  by(outE('created').count()) 
==>[a:[name:[marko],age:[29]],knows:2,created:1] 
==>[a:[name:[vadas],age:[27]],knows:0,created:0] 
==>[a:[name:[lop],lang:[java]],knows:0,created:0] 
==>[a:[name:[josh],age:[32]],knows:0,created:2] 
==>[a:[name:[ripple],lang:[java]],knows:0,created:0] 
==>[a:[name:[peter],age:[35]],knows:0,created:1] 
+0

爲什麼最後這個空由()? –

+1

當您select()''by()'調製器以循環方式應用時,所以如果您不添加空的'by()'以不改變地通過「count」,Gremlin將嘗試應用一個'valueMap()',這會導致一個錯誤,因爲您將嘗試將'valueMap()'應用於'count'的'Long'值。 –

+0

我需要一些材料來深入瞭解Gremlin,文檔很混亂,並且沒有以更相互關聯的方式解釋事情,有人可以推薦一些視頻,書籍或類似的東西的材料嗎? 我在尋找「gremlin」和「tinkerpop」,有更好的關鍵詞來找到更多相關的材料嗎? –

相關問題