2016-12-05 61 views
1

在Tinkerpop3中valueMap返回一個數組,我怎樣才能得到一個真正的鍵值對(無數組)?Valuemap返回數組

gremlin> Gremlin.version() 
==>3.0.1-incubating 

:> def trav = g.V().hasLabel('Group'); trav.valueMap() 
==>{joinTime=[2016-12-05T22:27:01.088Z], groupId=[9de5-45cf-b40d-e357b40e87b1], mCanInvite=[true]} 

:> def trav = g.V().hasLabel('Group'); trav.local(properties().group().by(key()).by(value())) 
==>{joinTime={2016-12-05T22:27:01.088Z=1}, groupId={9de5-45cf-b40d-e357b40e87b1=1}, mCanInvite={true=1} 

回答

0

您可以嘗試使用select,它返回鍵值對。 例如:

g.V().hasLabel('Group').as('name','count') 
    .select('name','count') 
    .by('groupName') 
    .by(outE('contains').count()) 

結果會是這樣的:

[{'name':'group1', 'count':10},...] 

名代表組名的屬性值,算 - 多出邊怎麼了組。

+0

這是一個合理的回退,但是當某些屬性是可選的時它不能正常工作。例如,如果一個特定的頂點沒有一個名爲groupName的屬性('groupName'),我認爲會失敗。 – Vibgy