从遍历器中,如果我只想要顶点列表中的第一项,该如何将其作为对象返回?
我尝试过:
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")
我也尝试过折叠,但是没有一个对我有用。有什么想法吗?
答案 0 :(得分:1)
我并没有完全按照您的要求,但是您遍历的任何一个都应该只返回一个“名称”值,而不返回“名称”值列表,尽管我认为我更喜欢第二个,因为您说过您想要第一个退回的商品。我将重写如下:
g.V().has("Project", "id", "someid").
out("Contains").hasLabel("Goal").
values("name")
limit(1)
您刚刚在此处粘贴了一些Gremlin,但是您也可以next()
Iterator
来获得单个第一个对象:
String name = g.V().has("Project", "id", "someid").
...
limit(1).next()
如果由于某种原因在返回值中看到其他行为,请更新您的问题以包括示例数据脚本(example),以便在Gremlin Console中轻松重现。