【问题标题】:How to remove the property in Titan DB?如何删除 Titan DB 中的属性?
【发布时间】:2016-08-05 13:28:33
【问题描述】:
 g.V(apple).properties("name").drop();

这就是我尝试删除苹果顶点属性的方法,但出现错误

java.lang.IllegalStateException:无法访问元素,因为其封闭事务已关闭且未绑定

基本上我正在尝试检查我们是否可以修改 TitanDB 中的架构? 我浏览了文档,但对此一无所知。

【问题讨论】:

    标签: schema titan gremlin


    【解决方案1】:

    以下示例似乎对我有用:

    gremlin> produce = g.addVertex();
    ==>v[12]
    gremlin> produce.values();
    gremlin> produce.property("name", "apple");
    ==>vp[name->apple]
    gremlin> produce.values();
    apple
    g.traversal().V(produce).properties("name").drop();
    produce.values();
    

    你之前在做什么:

     g.V(apple).properties("name").drop();
    

    你得到的错误

    java.lang.IllegalStateException: 无法访问元素,因为它的封闭事务已关闭且未绑定

    表示事务已经关闭,这意味着您可能正在提交关闭图表。这些操作中的任何一个都会关闭事务并使其无法使用,因此请检查您的操作顺序。

    【讨论】:

    • 是的,我提交了交易。
    • 提交总是关闭事务。提交后重新打开您的图表,您的属性删除将起作用。
    • 实际上我使用的是 intellij,但我没有使用 addVertex 方法,虽然我找到了 addV() 方法,并且使用 gremlin 控制台检查我也没有工作
    • 我制作的示例是使用Titan-1Tinkerpop-3,它们在java 中具有非常相似的语法。不过前提是一样的。提交关闭事务,因此您需要重新打开图表。
    • gremlin> tx = graph.newTransaction(); ==>standardtitantx[0x4b325930] gremlin>produce = g.addVertex() 出现此错误 No signature of method: org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource.addVertex() 适用于参数类型: () 值:[]
    【解决方案2】:

    可能是您没有正确迭代负责创建该顶点的 Traversal

    从 Gremlin 控制台,使用 Titan v1.0.0 和 TinkerPop v3.0.1:

    gremlin> graph = TitanFactory.open('conf/titan-cassandra-es.properties')
    ==>standardtitangraph[cassandrathrift:[127.0.0.1]]
    gremlin> g = graph.traversal()
    ==>graphtraversalsource[standardtitangraph[cassandrathrift:[127.0.0.1]], standard]
    gremlin> apple = g.addV().next()
    ==>v[4296]
    gremlin> apple.property('name', 'Apple')
    ==>vp[name->Apple]
    gremlin> apple.values()
    ==>Apple
    gremlin> g.V(apple).properties('name').drop()
    gremlin> apple.values()
    gremlin>
    

    注意在创建apple 顶点时对.next() 的调用。

    【讨论】:

    • 如何打印属性,我正在使用 intellij
    • 我怎样才能删除propertykey
    猜你喜欢
    • 2015-07-05
    • 1970-01-01
    • 2016-08-01
    • 2017-10-16
    • 1970-01-01
    • 2016-12-11
    • 2022-11-03
    • 2017-10-13
    • 1970-01-01
    相关资源
    最近更新 更多