繁体   English   中英

OWL API从导入的本体中重命名实体

[英]OWL API renamed entity from imported ontology

我有在B中导入的本体A。我想重命名一个实体,所以我这样写:

OWLEntityRenamer renamer = new OWLEntityRenamer(manager, Collections.singleton(A));        
Map<OWLEntity, IRI> entity2IRIMap = new HashMap<>();             
entity2IRIMap.put(datafactory.getOWLNamedIndividual(iriBase+"Skyfos"), IRI.create(iriBase+"Skyphos"));       
manager.applyChanges(renamer.changeIRI(entity2IRIMap)); 
manager.save(A);
manager.save(B);

现在,该实体已在A中正确重命名,但在BI中同时拥有两个实体。 特别是在B中,每个使用“ Skyfos”的对象属性都继续使用“ Skyfos”而不是“ Skyphos”。 谢谢。

这里的问题是OWLEntityRenamer需要修改所有本体。

您仅将本体A传递给重命名器。 如果B已经使用旧的IRI,则不会更改。 将两种本体都传递给重命名器,然后重试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM