【问题标题】:whether gremlin needs to store all data in java?gremlin 是否需要将所有数据存储在 java 中?
【发布时间】:2018-05-14 08:53:40
【问题描述】:

gremlin 是由 stephen mallette 等人开发的图形查询语言。 apache tinkerpop.

我查看了它的开源,发现它为开发人员(供应商)提供了 API。我有一个问题,我是否可以使用用其他语言而不是 java 编写的 OLTP 或 OLAP 作为我的图形系统。

我想这可能很困难,因为我认为包含边、顶点及其属性等数据的 java 类需要在 gremlin 中的 GraphProgram 或 VertexProgram 进程中计算。如果我想使用 gremlin 来查询我的图,我必须在 java 中复制一份完整的数据并实现必要的功能来覆盖提供的接口。是对的吗?谁能给我一些建议?

【问题讨论】:

    标签: java graph gremlin tinkerpop tinkerpop3


    【解决方案1】:

    如果您只是在谈论编写查询,您可以使用 TinkerPop 目前支持的任何语言开发基于 OLTP 和 OLAP 的遍历:基于 JVM(Java、Groovy、Scala、Clojure 等)、JavaScript、 Python 或 .NET。但是,对于非 JVM 语言,您确实需要运行 Gremlin Server 的实例,或者您需要使用公开 Gremlin 服务器协议的 TinkerPop 实现,例如 DSE Graph、CosmosDB、Amazon Neptune、IBM Compose 上的 JanusGraph 等。

    但是,如果您打算为 OLAP 编写自己的 VertexProgram,那么您将需要使用 JVM 语言来执行此操作。例如,您不能在 Python 中编写 VertexProgram

    【讨论】:

    • 哇!能这么快得到答复真是幸运。也许我还有一些问题要问。其实我想知道厂商的图数据库或者图处理器是不是一定要用Java写的。我认为 gremlin-python 或 gremlin-javascript 可以为用户提供一种使用 python 或 javascript 编写遍历的方法。它们用于在 gremlin 上开发应用程序,而不是为 gremlin 提供 API 的数据库或处理器的驱动程序。
    • 正确 - 图形实现(如 VertexProgram 实现)必须用 Java(或者我想是 JVM 兼容语言)编写。也许有一天我们会拥有所有语言的完整 Gremlin 虚拟机来实现这一点,但现在我们只有 JVM。
    • 我明白了。多谢。顺便提一句。 gremlin 真的是一个很棒的项目
    猜你喜欢
    • 2016-08-27
    • 1970-01-01
    • 2018-04-10
    • 1970-01-01
    • 2021-02-26
    • 2015-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多