2 つの既存の RDF/XML モデルをマージしようとしました。私はさまざまな解決策を試しました:
model1.union(model2)
model1.add(model2) //adding a complete model
model1.add(model2.listStatements())
JavaでJenaを使用しています。
2 番目のモデルからエンベロープ タグ ( などEquipment
) を削除しましたが、常に同じ問題があります。結果のモデルは実際にはマージされません。追加された各モデルのエンベロープが含まれています。たとえば、2 つのドキュメントがありますが、エンドポイントが異なります。それらをマージして、すべてのデータを含む 1 つのドキュメントを作成する必要があります。
endpointA の bookid123
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:si="http://www.w3schools.com/rdf/">
<rdf:Description rdf:about="http://endpointA/bookid123">
<si:title>W3Schools.com</si:title>
</rdf:Description>
</rdf:RDF>
endpointB の bookid123
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:si="http://www.w3schools.com/rdf/">
<rdf:Description rdf:about="http://endpointB/bookid123">
<si:author>Jan Egil Refsnes</si:author>
</rdf:Description>
</rdf:RDF>
その結果、私はこのようなもの:
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:si="http://www.w3schools.com/rdf/">
<rdf:Description rdf:about="http://endpointA/bookid123">
<si:title>W3Schools.com</si:title>
</rdf:Description>
<rdf:Description rdf:about="http://endpointB/bookid123">
<si:author>Jan Egil Refsnes</si:author>
</rdf:Description>
</rdf:RDF>
しかし、私はこのようなものが必要です:
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:si="http://www.w3schools.com/rdf/">
<rdf:Description rdf:about="http://couldbeanything/bookid123">
<si:title>W3Schools.com</si:title>
<si:author>Jan Egil Refsnes</si:author>
</rdf:Description>
</rdf:RDF>
source-uri のために異なるステートメントを除いて、のすべてのステートメントを取得model1
して に追加するよりもスマートな方法はありますか?model2