gpt4 book ai didi

gremlin - 如何使用 Gremlin npm 包中的 sideEffect() 方法

转载 作者:行者123 更新时间:2023-12-05 03:59:11 26 4
gpt4 key购买 nike

我尝试了多种调用sideEffect()的方法,但都没有奏效,我在网上找不到任何文档或示例,而且源代码有点太抽象了,我不花很长时间看就无法理解

举个例子:

const y = await g.V().hasId('a4b64522-9cda-1b34-8f76-634242933a0d').sideEffect('drop()').next();

结果

Error: Server error: {"requestId":"8915089a-cde3-4861-b73a-2534cefbc0b2","code":"InternalFailureException","detailedMessage":"Could not locate method: NeptuneGraphTraversal.sideEffect([drop()])"} (599)

我正在针对 AWS Neptune 运行这些遍历以防万一(尽管通过 Python 和 Gremlin 控制台针对 Neptune 工作运行类似查询)。

最佳答案

sideEffect() 步骤需要一个 anonymous traversal所以我在你的 previous question 中提供的语法应该在包括 javascript 在内的每个 Gremlin 语言变体中同样有效:

g.V().hasId('a4b64522-9cda-1b34-8f76-634242933a0d').sideEffect(drop())

drop() 当然是从 __ 产生的,应该是你的 standard imports 的一部分。并且可以更明确地称为:

const __ = gremlin.process.statics;
g.V().hasId('a4b64522-9cda-1b34-8f76-634242933a0d').sideEffect(__.drop())

您在问题中描述的错误仅与您将 drop() 作为字符串值传递的用法有关。也就是说,我想海王星可能根本不支持 sideEffect() 作为一个步骤?您可以使用合法语法通过更简单的遍历来测试它,看看您是否遇到相同的错误:

g.V().hasId('a4b64522-9cda-1b34-8f76-634242933a0d').sideEffect(__.constant(1))

如果该遍历返回一个 Vertex 具有您正在查询的指定 id,并且您没有看到错误,那么我认为 sideEffect() 是受支持的步。也许有更多 Neptune 经验的人能够为您提供更正式的答案。

关于gremlin - 如何使用 Gremlin npm 包中的 sideEffect() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57477011/

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