1

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

  • 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.

我有以下问题:

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

    一个。蓝图ThreadedTransactionalGraph

    湾。GremlinPipelineAPI

  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

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

我有一个在 OrientDB 上运行的现有 API,我想迁移到 Blazegraph。我是否必须更改所有已阅读的内容(Gremlin 查询)才能使用 Blazegraph,还是有办法同时使用 Tinkerpop 2 GremlinPipeline

4

1 回答 1

1

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

但是,在我的评论中,我认为它支持线程事务是错误的。使用 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 上此支持的状态,您应该向他们提出问题。

于 2016-09-20T15:46:37.477 回答