首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修改D2RQ返回的Jena模型

修改D2RQ返回的Jena模型
EN

Stack Overflow用户
提问于 2016-09-05 18:39:54
回答 1查看 60关注 0票数 0

D2RQ使用Jena模型创建DB的RDF表示。

代码语言:javascript
复制
Model m = new ModelD2RQ("file:outfile2.ttl");

我知道返回的模型是一个“只读”模型。

因此,如果我试图将资源添加到模型中,我会得到一个"jena.shared.AddDeniedException“异常。

代码语言:javascript
复制
    Resource r1=m.createResource("http://www.stackoverflow.com#34");
    r1.addProperty(RDF.type, ...); <-throws the exception

如何才能将模型m从数据库中解耦,以便可以对其进行修改?我不想写回模型,我只想用D2RQ得到一个基于RDF的DB-dump,我想进一步处理它(我知道像RDF这样的扩展可以通过修改D2RQ图来修改数据库,但我不想修改DB)

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-05 19:08:07

复制一份以断开模型与数据库的连接:

代码语言:javascript
复制
Model m = new ModelD2RQ("file:outfile2.ttl");
Model mCopy = ModelFactory.createDefaultModel() ;
mCopy.add(m) ;
mCopy.addProperty(...)

另一种方法是使用联合模型,其中内存中的部分是联合的第一个可更新部分。

代码语言:javascript
复制
Model m = new ModelD2RQ("file:outfile2.ttl");
Model extra = ModelFactory.createDefaultModel() ;
Model m2 = ModelFactory.createUnion(exrta, m2) ;
...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39328836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档