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控制台中轻松重现