gpt4 book ai didi

graph-databases - gremlin:限制步骤与采取步骤

转载 作者:行者123 更新时间:2023-12-03 23:36:39 25 4
gpt4 key购买 nike

我是 gremlin 新手,在引用 this 时网站上,我遇到了 take() 步骤。它与 limit() 具有相同的输出,这让我想知道两者之间有什么区别。我无法找到有关此事的任何澄清。谢谢!

最佳答案

不幸的是,这有点令人困惑。 take() 不是 Gremlin 步骤。相反,它是一个应用于遍历末尾的 Groovy 函数(它本身是一个 Iterator)。与在遍历结束时使用 take() 的方式大致相同,您可以使用其他 Groovy 函数:

gremlin> g.V().take(1)
==>v[1]
gremlin> g.V().collect{it.value('name')}
==>marko
==>vadas
==>lop
==>josh
==>ripple
==>peter

当然,一旦您使用 Groovy 函数来处理管道,您就无法返回 Gremlin 步骤:

gremlin> g.V().take(1).out()
No signature of method: org.codehaus.groovy.runtime.DefaultGroovyMethods$TakeIterator.out() is applicable for argument types: () values: []
Possible solutions: sum(), sort(), sort(groovy.lang.Closure), sort(java.util.Comparator), count(java.lang.Object), count(groovy.lang.Closure)
Type ':help' or ':h' for help.
Display stack trace? [yN]

这就是为什么您更喜欢limit(1):

gremlin> g.V().limit(1).out()
==>v[3]
==>v[2]
==>v[4]

当然,如果您不使用 Groovy 并且在 Java 环境中编程,那么很明显,您将无法使用 take() 和其他此类函数。

关于graph-databases - gremlin:限制步骤与采取步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56862896/

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