Gremlin 如何返回单个对象而不是数组中的单个项?

Gremlin 如何返回单个对象而不是数组中的单个项?,gremlin,tinkerpop3,Gremlin,Tinkerpop3,从遍历器中,如果我只需要顶点列表中的第一项,我将如何将其作为对象返回 我试过: g.V() .has("Project", "id", eq("someid")) .outE("Contains") .inV() .hasLabel("Goal") .sample(1) .values("name") 还尝试: g.V() .has("Project", "id", eq("someid")) .outE("Contains") .inV() .hasLabel("Goal") .limit(

从遍历器中,如果我只需要顶点列表中的第一项,我将如何将其作为对象返回

我试过:

g.V()
.has("Project", "id", eq("someid"))
.outE("Contains")
.inV()
.hasLabel("Goal")
.sample(1)
.values("name")
还尝试:

g.V()
.has("Project", "id", eq("someid"))
.outE("Contains")
.inV()
.hasLabel("Goal")
.limit(1)
.values("name")

我也试过折叠,但都不适合我。有什么想法吗?

我不太明白您想要什么,但是您的任何一次遍历都应该只返回一个“name”值,而不是一个“name”值列表,尽管我想我更喜欢第二个,因为您说希望返回第一个项。不过,我会将其改写如下:

g.V().has("Project", "id", "someid").
  out("Contains").hasLabel("Goal").
  values("name")
  limit(1)
您刚刚在此处粘贴了一些小精灵,但也可以使用
next()
迭代器
来获取第一个对象:

String name = g.V().has("Project", "id", "someid").
                ...
                limit(1).next()
如果由于某种原因,您在返回值中看到其他行为,请更新您的问题以包含示例数据脚本(),以便在Gremlin控制台中轻松重现