Java 小精灵:Blazegraph远程
我正在尝试使用以下设置启动并运行管道:Java 小精灵:Blazegraph远程,java,multithreading,graph,gremlin,blazegraph,Java,Multithreading,Graph,Gremlin,Blazegraph,我正在尝试使用以下设置启动并运行管道: Blazegraph 2.1.1(远程) Tinkerpop 2(大数据蓝图2.0.0、BlazeGraph Gremlin 1.0.0、大数据核心2.0.0) 语言:Java 我已经能够使用Blueprints API创建和删除顶点和边。对于所有图形操作,我希望尽可能地坚持使用Tinkerpop。我找不到以下方面的API: 通过ThreadedTransactionalGraph执行线程化事务 使用GremlinPipeline进行遍历 我有以下问题
- Blazegraph 2.1.1(远程)
- Tinkerpop 2(大数据蓝图2.0.0、BlazeGraph Gremlin 1.0.0、大数据核心2.0.0)
- 语言:Java
ThreadedTransactionalGraph
执行线程化事务GremlinPipeline
进行遍历ThreadedTransactionalGraph
b<代码>GremlinPipelineAPI我已经尝试了图形提供的
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
我主要担心的是,在使用remote在Blazegraph中查询时,不允许我使用GremlinPipeline
我有一个在OrientDB上运行的现有API,我想迁移到Blazegraph。为了使用Blazegraph,我是否必须更改所有阅读材料(Gremlin查询),或者是否有办法将Tinkerpop 2与
GremlinPipeline一起使用?正如Jason指出的,关于Tinkerpop 3,您应该看看插件
然而,在我的评论中,我认为它支持线程事务是错误的。使用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上此支持的状态,您应该向他们提出问题。我没有使用Blazegraph,但这不是您想要的吗?正如Jason指出的,我认为您正在为blazegraph寻找[gremlin])()插件。我已经使用过它,并且我可以确认它支持线程事务。听起来你应该在@FilipeTeixeira:)的回答中添加这一点。我认为值得澄清的是,这个问题包含了TinkerPop 2.x和3.x概念的混淆。没有“蓝图”项目或“管道API”。查看代码,BlazeGraph实现了TinkerPop图形结构API(以前的蓝图),它应该能够利用遍历API(以前的管道,即管道API)。