簡體   English   中英

修改D2RQ返回的Jena模型

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM