首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用OWL设置匿名本体的本体ID

如何使用OWL设置匿名本体的本体ID
EN

Stack Overflow用户
提问于 2016-09-02 05:19:07
回答 1查看 415关注 0票数 0

我有一个包含本体的文件,没有本体id (本体标记<Ontology/>是空的)。使用的序列化格式是RDF/XML。我的目标是序列化文件,设置本体id,并使用OWLAPI将文件写回。不幸的是我不知道该怎么做。我尝试了以下几点:

代码语言:javascript
复制
ontology = ontologyManager.loadOntologyFromOntologyDocument(new File("filename"));
ontologyManager.setOntologyDocumentIRI(ontology, IRI.create("http://www.mydesiredIri.com/abc"));
ontologyManager.saveOntology(ontology,new FileOutputStream(new File("outputfile")));

通过运行代码,本体-ID不会添加到本体中。与<Ontology rdf:about="http://www.mydesiredIri.com/abc"/>不同,标记仍然是emtpy的。我做错什么了?

谢谢!

亲切的问候

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-02 08:24:57

OWLOntologyManager.setOntologyDocumentIRI()用于设置本体的文档IRI,而不是本体IRI本身。两者的区别在于,文档IRI是一个可解析的URL或文件路径(例如,int可以用于解析本体),而本体IRI是本体的符号名(它不需要可解析,甚至可以丢失--这是匿名本体的情况)。

若要设置本体IRI,请使用:

代码语言:javascript
复制
//versionIRI can be null
OWLOntologyID newOntologyID = new OWLOntologyID(ontologyIRI, versionIRI);
// Create the change that will set our version IRI
SetOntologyID setOntologyID = new SetOntologyID(ontology, newOntologyID);
// Apply the change
manager.applyChange(setOntologyID);

在此之后,像往常一样保存本体。

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

https://stackoverflow.com/questions/39284768

复制
相关文章

相似问题

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