【问题标题】:Gremlin drop() isn't working via java apiGremlin drop() 无法通过 java api 工作
【发布时间】:2016-07-01 12:23:02
【问题描述】:

我正在使用由本地 dynamodb 实例(使用 3.0 tinkerpop 堆栈)支持的 titan db 1.0.0。我花了比我想承认的更多的时间来试图弄清楚为什么 drop() 不起作用。在我的用例中,我试图删除通过遍历找到的特定边缘,但即使 graph.traversal().V().drop() 也不起作用。我做了很多谷歌搜索,但可能没有使用正确的关键字。我终于弄清楚了我将在我的答案中指定的问题。希望其他人觉得这很有用。

【问题讨论】:

  • Gremlin remove all Vertex的可能重复
  • @stephenmallette V().drop() 只是一个简单的 drop 用例 - 尽管我确实看到您提供的帖子底部的答案确实提到了 iterate()。我进行了编辑以澄清这更像是 drop() 没有按预期工作的问题。

标签: java titan gremlin tinkerpop


【解决方案1】:

我终于记得在某个地方读到过(不幸的是,我现在找不到分享链接edit:参见 Stephen Mallete 提供的链接),在 java-land 中处理 gremlin 时,你需要显式地迭代遍历。

所以诀窍是graph.traversal().V().drop().iterate()。请注意,使用 gremlin 控制台时不需要这样做(至少在 3.0 中)。你可以使用graph.traversal().V().drop()

【讨论】:

  • fwiw, drop() 和迭代在这里专门讨论:tinkerpop.apache.org/docs/3.1.1-incubating/tutorials/…
  • @stephenmallette 我对 tinkerpop 文档的一些反馈是,虽然我完全理解使用控制台进行教程等,但我必须相信大多数实际使用将通过这样的 api正如我正在使用的那样。对我来说,根据该用途定制文档是有意义的,或者至少在存在陷阱的每种情况下都进行标注。对我来说,这里没有提到这种迭代需求是没有意义的:tinkerpop.apache.org/docs/3.1.1-incubating/reference/#drop-step.
  • 你总是需要iterate() 无论是下降步骤还是其他任何事情。 x = g.V() 不返回任何内容到 "x" - 那只是一个 Traversal。在删除步骤中添加有关迭代的信息意味着必须将其添加到所有步骤中。它是 gremlin 的核心概念。这就是为什么我在教程中如此专注于它的原因。虽然大多数人会开发应用程序,但他们(应该)从控制台开始,这就是为什么我们的大部分文档都是按原样编写的(我们可以从代码中生成它们,因此文档中永远不会出现错误)。我们将很快就应用开发主题编写更多文档/教程。
  • 我想,在您期望某种结果集的步骤中,迭代的需要是显而易见的。但是 drop 感觉就像是一个空白。因此,我只希望在这些类型的步骤中将其称为陷阱。作为一个与该项目如此接近的人,这一切对你来说可能是显而易见的。我提出我的建议是作为这个行业中至少有中等智力的人,他来自 java(不是 groovy 或类似的),并且可能代表了你想要吸引的相当比例的用户。
  • 我浏览了教程,这可能就是为什么最终想到它的原因,但是在浏览教程时,我只是想把所有的东西都包起来;我不太可能完全理解所有旁白、“注释”等的影响。
【解决方案2】:

您可以尝试以下方法来清除图表:

TitanGraph titanGraph = TitanFactory.open(config);
TitanCleanup.clear(graph);

这实质上是删除 Cassandra 中的键空间并完全清除图形,包括索引。

【讨论】:

  • 很高兴知道,谢谢。我的实际用例是删除单个顶点或边。 V().drop() 只是我可以确信我的问题不是我试图使用的命令的一个案例:)
【解决方案3】:

遍历后需要提交。

示例:

graph.traversal().V().drop().iterate()
graph.tx().commit()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-24
    • 2017-11-25
    • 1970-01-01
    • 2018-09-01
    • 1970-01-01
    • 2020-12-13
    • 2023-04-02
    • 2018-10-10
    相关资源
    最近更新 更多