我正在尝试使用以下设置启动并运行管道:
- 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:
- 通过
ThreadedTransactionalGraph
进行线程化事务。 - 使用
GremlinPipeline
进行遍历。
我有以下问题:
- Blazegraph 远程版本的 TP3 何时推出有时间表吗?
近期有计划支持以下功能吗?
a.蓝图
ThreadedTransactionalGraph
b.
GremlinPipeline
API2a 和 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/