【问题标题】:how to change the Node of a TriplePath in Jena?如何更改 Jena 中 TriplePath 的节点?
【发布时间】:2016-07-04 14:07:38
【问题描述】:

我想更改 Jena TriplePath (org.apache.jena.sparql.core.TriplePath) 的节点,但我没有找到任何方法。想象一下我有这个代码:

TriplePath tp = null;
....
//tp has been defined and not null

Node domain = tp.getSubject();
Node predicate = tp.getPredicate();
Node range = tp.getObject();
Node newNode = NodeFactory.createURI("http://www.example.com/example/example");

//And now? How can I set a Node (domain/predicate/range) of tp?

问题是,如何使用我创建的 newNode 设置 TriplePath tp 的任何节点(域/谓词/范围)?有什么办法吗?

【问题讨论】:

    标签: java jena apache-jena arq


    【解决方案1】:

    您需要创建一个新路径并将其分配给tpTriplePaths 是不可变的,就像耶拿的 SPARQL 代数的其余部分一样(不应该使用任何方法来解决这个问题!)。

    对于更复杂的设置,有一个带有变量的模板并使用:

    TriplePath Substitute.substitute(TriplePath triplePath, Binding binding)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-10
      • 2015-03-02
      • 2011-01-21
      • 2012-08-07
      • 1970-01-01
      相关资源
      最近更新 更多