首页
学习
活动
专区
圈层
工具
发布

OWL使用
EN

Stack Overflow用户
提问于 2018-03-23 16:40:45
回答 1查看 167关注 0票数 0

我正在将远程本体映射到本地副本,如下所示:

代码语言:javascript
复制
 OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); 
 IRI documentIRI = IRI.create(new File("ontologies/localOntology.owl"));
 IRI remoteIRI=IRI.create("https://protege.stanford.edu/ontologies/pizza/pizza.owl");
 SimpleIRIMapper mapper = new SimpleIRIMapper(remoteIRI, documentIRI);
 manager.getIRIMappers().add(mapper);
 OWLOntology ontology = manager.loadOntology(remoteIRI);       
 manager.saveOntology(ontology,  new OWLXMLDocumentFormat());

这是使用IRIMap的正确方式吗?如果localOntology.owl包含与远程本体不同的内容,怎么办?看起来,不管远程本体的内容如何,我似乎都在操作本地本体,因为例如,如果我们将ontology.getAxiomCount()与localOntology.owl一起使用--一个空本体--我们将得到"0",与localOntology的内容一致,而不是与远程本体相一致。“本体”是否应该与远程本体对齐,而在映射后存储在localOntology.owl中?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-24 09:58:09

IRI映射的目的只是从一个IRI重定向到另一个IRI--最常见的用例是避免多次下载远程本体。但是,确保本地副本与远程副本(假设远程副本是“主”本体,其他用户将在其系统中使用)是一个没有IRI映射器实现的任务。

没有解决本地本体和远程本体之间差异的通用策略--例如,在某些情况下,同步远程本体和本地本体总是正确的;当本地副本用作缓存时,丢失远程更新是一个错误。

在其他情况下,从远程本体进行更新是错误的--例如,当在本体上测试不同推理者的性能时,如果本体导入在实验期间可能发生变化的远程本体,那么使用不可更改的本地副本比选择最新的更新要好;更改可能会以无法检测的方式影响比较结果,并破坏可重复性。

因此,OWL将正确策略的实现留给调用代码,而不是做出可能导致难以检测的问题的决策。

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

https://stackoverflow.com/questions/49454568

复制
相关文章

相似问题

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