Gremlin:Blazegraph Remote

时间:2016-09-20 13:53:54

标签: 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

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

  1. 通过ThreadedTransactionalGraph进行线索交易。
  2. 使用GremlinPipeline进行遍历。
  3. 我有以下问题:

    1. 是否有关于远程版Blazegraph的TP3何时可用的时间表?
    2. 是否有计划在不久的将来支持以下内容?

      一个。蓝图ThreadedTransactionalGraph

      GremlinPipeline API

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

    4. 我尝试了图表提供的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一起使用?

1 个答案:

答案 0 :(得分:1)

正如杰森在Tinkerpop 3中指出的那样,你应该看一下this插件。

然而,在我的评论中,我错误地支持线程化交易。使用TP3的Blazegraph目前不支持ThreadedTranactions,但支持ConcurrentAccess以及Tinkerpop事务。即使线程必须等待彼此完成。

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

返回:

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

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