Gremlin - 如何将值列表分配给新的 属性,用于多个顶点

Gremlin - how to assign a list of values to a new property, for multiple vertices

假设我有一个包含 ID 为 123456789.

的三个顶点的列表
g.V([123,456, 789])

如何添加一个名为 say testproperty 的新 属性,我有一个要同时添加的值列表 ['a', 'b', 'c']

伪 gremlin 代码 - 用于说明 - 工作是:

g.V([123,456, 789]).property('testproperty', ['a', 'b', 'c'])

明确地说,我想要两个列表之间的映射,所以 g.V(123).property('testproperty', 'a')g.V(123).property('testproperty', 'b')

所以,g.V([123,456,789]).valueMap() 应该 return:

==>{testproperty=[a]}
==>{testproperty=[b]}
==>{testproperty=[c]}

这是一种方法:

gremlin> data = [1:'a',2:'b',3:'c']
==>1=a
==>2=b
==>3=c
gremlin> g.inject(data).as('d').
......1>   V(data.keySet()).as('v').
......2>   property('testproperty', select('d').select(select('v').by(T.id)))
==>v[1]
==>v[2]
==>v[3]
gremlin> g.V(data.keySet()).valueMap(true)
==>[id:1,label:person,testproperty:[a],name:[marko],age:[29]]
==>[id:2,label:person,testproperty:[b],name:[vadas],age:[27]]
==>[id:3,label:software,testproperty:[c],name:[lop],lang:[java]]