java - Gremlin:Blazegraph Remote

标签 java multithreading graph gremlin blazegraph

我正在尝试使用以下设置启动并运行管道:

  • Blazegraph 2.1.1(远程)
  • Tinkerpop 2(bigdata-blueprints 2.0.0、BlazeGraph-Gremlin 1.0.0、bigdata-core 2.0.0)
  • 语言:Java

我已经能够使用蓝图 API 来创建和删除顶点和边。我想在所有图形操作中尽可能坚持使用 Tinkerpop。我无法找到以下 API:

  1. 通过ThreadedTransactionalGraph进行线程化事务。
  2. 使用 GremlinPipeline 进行遍历。

我有以下问题:

  1. Blazegraph 远程版本的 TP3 何时推出有时间表吗?
  2. 近期有计划支持以下功能吗?

    a.蓝图ThreadedTransactionalGraph

    b. GremlinPipeline API

  3. 2a 和 2b 的建议替代方案有哪些?

<小时/>

我已经尝试了图表提供的 getFeatures 函数,它得到了以下列表:

supportsDuplicateEdges: true
supportsSelfLoops: true
supportsSerializableObjectProperty: false
supportsBooleanProperty: true
supportsDoubleProperty: true
supportsFloatProperty: true
supportsIntegerProperty: true
supportsPrimitiveArrayProperty: true
supportsUniformListProperty: true
supportsMixedListProperty: true
supportsLongProperty: true
supportsMapProperty: false
supportsStringProperty: true
ignoresSuppliedIds: false
isPersistent: true
isWrapper: false
supportsIndices: true
supportsVertexIndex: false
supportsEdgeIndex: false
supportsKeyIndices: true
supportsVertexKeyIndex: true
supportsEdgeKeyIndex: true
supportsEdgeIteration: true
supportsVertexIteration: true
supportsEdgeRetrieval: true
supportsVertexProperties: true
supportsEdgeProperties: true
supportsTransactions: false
supportsThreadedTransactions: false

我主要担心的是,在 Blazegraph 中远程查询时,我不允许使用 GremlinPipeline

我有一个在 OrientDB 上运行的现有 API,我想迁移到 Blazegraph。我是否必须更改所有读取的内容(Gremlin 查询)才能使用 Blazegraph,或者是否有办法将 Tinkerpop 2 与 GremlinPipeline 一起使用?

最佳答案

正如 Jason 指出的,关于 Tinkerpop 3,你应该看看 this插件。

但是,在我的评论中,我错误地认为它支持线程事务。使用 TP3 的 Blazegraph 目前不支持 ThreadedTranactions,但支持 ConcurrentAccess 以及 Tinkerpop Transactions。即使线程必须等待彼此完成。

BlazeGraphEmbedded graph = BlazeGraphFactory.open("test.jnl");
graph.features();

返回:

FEATURES
GraphFeatures
-- Computer: false
-- Persistence: true
-- ConcurrentAccess: true
-- Transactions: true
-- ThreadedTransactions: false

关于 Blazegraph TP2 或 TP3 上的支持状态,您应该向他们提出问题。

关于java - Gremlin:Blazegraph Remote ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39596025/

相关文章:

java - Google map 应用程序出错

java - 切换垂直 JScrollBar 最小/最大位置

java - 由于先前的错误而跳过安装应用程序监听器 - Tomcat

java - 在 Android 中的单独线程上使用循环器

java - Android:如何在非ui线程之间进行通信并处理调用者线程上的数据?

python - Dijkstra算法随机选择具有相同最小权重的相邻节点

graph - Neo4j 密码 : topological sort in addition to regular sort?

java - 从 java 调用时 shell 脚本中的 Scrapy 命令不执行

java - 使用 Jest 的服务在线程池上阻塞,为什么?

graph - 使用 CSV 属性设置链接长度、节点大小 d3