gpt4 book ai didi

graph-databases - Gremlin:使用项目时为 "The provided traverser does not map to a value"

转载 作者:行者123 更新时间:2023-12-04 13:56:44 25 4
gpt4 key购买 nike

在 Modern 图中,我想为每个人获取他创建的软件的名称和名称列表。所以我尝试了以下查询

g.V().hasLabel('person').project('personName','softwareNames').
by(values('name')).
by(out('created').values('name').aggregate('a').select('a'))

但我得到了错误
The provided traverser does not map to a value: v[2]->[VertexStep(OUT,[created],vertex), PropertiesStep([name],value), AggregateStep(a), SelectOneStep(last,a)]

问题似乎是顶点 2 没有“创建”的边。

如果我仅在具有至少一个“创建”边的顶点上运行该查询,则该查询有效,例如对于顶点 4(“V(4)”而不是“V()”),结果是
==>[personName:josh,softwareNames:[ripple,lop]]

如何获得顶点 2 的软件名称的空列表,而不是错误?

最佳答案

您可以将 Gremlin 简化为:

gremlin> g.V().hasLabel('person').
......1> project('personName','softwareNames').
......2> by('name').
......3> by(out('created').values('name').fold())
==>[personName:marko,softwareNames:[lop]]
==>[personName:vadas,softwareNames:[]]
==>[personName:josh,softwareNames:[ripple,lop]]
==>[personName:peter,softwareNames:[lop]]
by()调制器只做 next()在传递给它的内部遍历上,因此您需要自己减少结果 - 在这种情况下 fold()这样做并处理结果为空的情况。

关于graph-databases - Gremlin:使用项目时为 "The provided traverser does not map to a value",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49466453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com