首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图删除个人给NullPointerException

试图删除个人给NullPointerException
EN

Stack Overflow用户
提问于 2014-04-25 12:46:52
回答 1查看 452关注 0票数 0

我试图从我的RDF文件中删除一个现有的个体,但是我总是得到一个NullPointerException。我得到的个人在那里,因为我可以打印出一个属性。有人能告诉我我做错了什么吗?

代码语言:javascript
复制
final static String SN = "http://vaceta.pavo.uberspace.de/RDF/social-media.owl#";

InputStream in = context.getResourceAsStream("WEB-INF/resources/social-media.rdf");
OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);
model.read(in, null);
in.close();

Individual user01 = model.getIndividual(SN + "User01");
model.remove(user01, null, (RDFNode) null);
model.remove(null, null, user01);

output = new FileOutputStream(context.getRealPath("/")+"WEB-INF/resources/social-media.rdf");
model.writeAll(output, "RDF/XML", null);
output.close();

堆栈跟踪:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-25 14:22:19

您使用的是不允许空的ModelCon.remove(s,p,o)。您希望使用Model.removeAll(s,p,o),这确实允许空值,并将它们作为通配符使用。下面是相应的Javadocs (添加了重点):

ModelCon.remove 模型删除(资源s,属性p,RDFNode o) 从这个模型中删除语句(s,p,o)并回答这个模型。 s,p,o都不允许为null:关于通配符删除,请参见removeAllModel.removeAll Model removeAll(Resource s, Property p, RDFNode r) 从该模型中删除与 (s,p,o)匹配的所有语句。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23293602

复制
相关文章

相似问题

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