gpt4 book ai didi

gremlin - 合并来自 Gremlin 中多个查询的结果

转载 作者:行者123 更新时间:2023-12-04 11:55:35 32 4
gpt4 key购买 nike

假设我想从我的数据库中获取一些顶点:

g.V(1, 2, 3)

然后我有另一组顶点:
g.V(4, 5, 6)

想象一下,这不仅仅是 g.V() ,但是一些更复杂的遍历来获取我的顶点。但是遍历必须从 V()开始,因为我想从我所有的节点中挑选。

我们还假设我想多次这样做。所以我可能想合并 7 个不同的结果集。 每个人都可以有完全不同的方式来获得其结果。

现在我想将这两个结果合并到一个结果集中。我的第一个想法是这样的:
g.V(1, 2, 3).fold().as('x').V(4, 5, 6).fold().as('x').select(all, 'x').unfold()

但这不起作用。第二次拨打 fold将清除我的“局部变量”,因为这是一个障碍步骤。

我目前的尝试是这样的:
g.V(1, 2, 3).fold().union(identity(), V(4, 5, 6).fold()).unfold()

这有效,但看起来有点太复杂了。如果我想重复 7 次,它会导致一个非常复杂的查询。

有没有更好的方法来完成来自两个不同查询的结果的简单合并?

最佳答案

如何使用aggregate() :

gremlin> g.V(1,2,3).aggregate('x').fold().V(4,5,6).aggregate('x').cap('x')
==>[v[1],v[2],v[3],v[4],v[5],v[6]]
gremlin> g.inject(1).union(V(1,2,3).aggregate('x'),V(4,5,6).aggregate('x')).cap('x')
==>[v[1],v[2],v[3],v[4],v[5],v[6]]

您的问题中没有特定的遍历,因此我不得不提出一些人为的示例,但这里的重点是您可以使用 aggregate()将特定步骤的输出附加到 List你可以 cap()结果在您的遍历结束时退出。

关于gremlin - 合并来自 Gremlin 中多个查询的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59945590/

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