【问题标题】:Gremlin - gremlin queries in tinkerpop documentation not workingGremlin - tinkerpop 文档中的 gremlin 查询不起作用
【发布时间】:2017-09-14 04:54:13
【问题描述】:

我是图形数据库、gremlin 和 tinkerpop 的新手。我们在我们正在构建的应用程序中使用它们,并且设置已由其他团队完成。

现在,当我尝试运行 tinkerpop 文档中提供的 gremlin 查询时,其中许多都无法正常工作,并且我收到错误消息,提示“没有方法签名:”。

您能否指导我检查什么以及如何检查,无论是版本还是其他任何东西,以使它们工作。

我们使用 janusgraph、cassandra 作为存储后端,使用 elasticsearch 进行索引。

【问题讨论】:

  • 使用 Gremlin.version() 命令检查了 gremlin 版本。它的 3.2.3 和我正在检查当前版本的文档 (3.3.1)。谁能帮我升级 gremlin 版本?
  • 查看 JanusGraph 版本兼容性矩阵docs.janusgraph.org/latest/version-compat.html
  • 感谢@JasonPlurad。它说我的 janusgraph 版本(0.1.1)仅与 3.2.x 兼容。所以会等待更新版本的janusgraph。
  • 为什么需要使用 TinkerPop 3.3.0?它刚刚发布,我不确定许多图形数据库是否正在实施它。
  • 我需要像link 这样的查询。这仅存在于 3.3.0 中。你能建议一个替代查询吗?

标签: graph-databases gremlin tinkerpop janusgraph


【解决方案1】:

像您一样检查 Gremlin 的版本是正确的选择。 x.y.z 的“z”版本之间可能存在细微差别,而“x.y.z”的“y”版本之间可能存在较大差异。因此,对于 3.2.3,您需要 TinkerPop 的此文档:

http://tinkerpop.apache.org/docs/3.2.3/reference/

在撰写本文时,JanusGraph 尚未发布支持 TinkerPop 3.3.0 的版本,我的感觉是,这并不像增加版本号那么简单。 3.3.0 引入了图形提供者可能必须以新测试、修订语义、类重命名等形式处理的许多更改。如果没有事先了解如何操作的知识,您可能无法自行完成JanusGraph 有效。

似乎确实有pull request for 3.3.0 支持,因此如果您想尽早了解它的工作原理,可以尝试构建它。如果不是,我建议您查阅 3.2.3 文档并以该形式简单地编写您的 Gremlin。 3.3.0 并没有真正引入大量主要的新 Gremlin 步骤,所以你并没有错过太多 - 我认为你只会得到 limit() 和更好的 addE() 语义。我一定会咨询 javadocs of 3.2.6 以获取已弃用的每个 Gremlin 步骤的完整列表,以便在 JanusGraph 确实发布 3.3.0 支持时,您处于升级的最佳位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-20
    • 1970-01-01
    • 2020-07-31
    • 2019-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多