[英]Modify Jena model returned by D2RQ
D2RQ使用Jena模型創建數據庫的RDF表示形式。
Model m = new ModelD2RQ("file:outfile2.ttl");
我知道返回的模型是“只讀”模型。
因此,如果我嘗試向模型添加資源,則會收到“ jena.shared.AddDeniedException”異常。
Resource r1=m.createResource("http://www.stackoverflow.com#34");
r1.addProperty(RDF.type, ...); <-throws the exception
如何將模型m與數據庫解耦,以便對其進行修改? 我不想寫回模型,我只是使用D2RQ來獲取基於RDF的數據庫轉儲,我想進一步處理它(我知道像D2RQ update這樣的擴展可以通過修改RDF圖來實現數據庫的修改,但是我不想修改數據庫)
謝謝
制作副本以斷開模型與數據庫的連接:
Model m = new ModelD2RQ("file:outfile2.ttl");
Model mCopy = ModelFactory.createDefaultModel() ;
mCopy.add(m) ;
mCopy.addProperty(...)
另一種方法是建立聯合模型,其中內存部分是聯合的第一個且可更新的部分。
Model m = new ModelD2RQ("file:outfile2.ttl");
Model extra = ModelFactory.createDefaultModel() ;
Model m2 = ModelFactory.createUnion(exrta, m2) ;
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.