如何在gremlin中检索多个多属性?

62lalag4  于 2021-06-27  发布在  Java
关注(0)|答案(1)|浏览(324)

我有一个person对象,我正在写一个这样的图:

gts.addV(newId).label('Person')
  .property(single, 'name', 'Alice')
  .property(set, 'email', 'alice1@example.invalid')
  .property(set, 'email', 'alice2@example.invalid')

现在我要检索顶点的内容。如文件所述, elementMap 不起作用,因为它只为多个属性返回一个属性值。我试过了 values('name', 'email') ,但它返回了展平列表中的所有属性,而不是我所期望的嵌套结构:

['Alice', 'alice2@example.invalid', 'alice1@example.invalid']

我试过不同的组合 values , project ,和 as/select ,但我总是得到一个空结果、一个平面列表或多个属性的单个值。
如何查询顶点以得到类似这些结果?

['Alice', ['alice2@example.invalid', 'alice1@example.invalid']]

[name:'Alice', email:['alice2@example.invalid', 'alice1@example.invalid']]
u1ehiz5o

u1ehiz5o1#

如果您只是希望返回值的Map,那么可以使用 valueMap() 步骤: g.V(newId).valueMap('name', 'email') 它将返回: [name:[Alice],email:[alice1@example.invalid,alice2@example.invalid]] 如果只想返回值,可以通过添加 select(values) : g.V().valueMap('name', 'email').select(values) 它回来了 [[Alice],[alice1@example.invalid,alice2@example.invalid]]

相关问题