2016-07-04 5 views
2

Jena TriplePath(org.apache.jena.sparql.core.TriplePath)のノードを変更したいのですが、何も見つかりませんでした。Jenaの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の任意のノード(ドメイン/述語/範囲)を設定する方法を、次のとおりです。私はこのコードを持っている想像してみて?何か方法はありますか?

答えて

1

新しいパスを作成し、tpに割り当てる必要があります。 TriplePathは、Jenaの残りのSPARQL代数と同様に不変です(これを無効にする方法は使用しないでください)。より複雑な設定については

、変数や使用してテンプレートを持っている:

TriplePath Substitute.substitute(TriplePath triplePath, Binding binding) 
関連する問題