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
我已经能够使用Blueprints API创建和删除顶点和边。对于所有图形操作,我希望尽可能地坚持使用Tinkerpop。我找不到以下方面的API:

  • 通过
    ThreadedTransactionalGraph
    执行线程化事务
  • 使用
    GremlinPipeline
    进行遍历
  • 我有以下问题:

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

    a。蓝图
    ThreadedTransactionalGraph

    b<代码>GremlinPipelineAPI

  • 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
    
    我主要担心的是,在使用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)。