OWL API 重命名了导入的实体 ontology

OWL API renamed entity from imported ontology

我有 ontology A 导入 B。我想重命名一个实体,所以我写:

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 中正确重命名,但在 B 中我有两个实体。特别是在 B 中,每个使用 "Skyfos" 的对象-属性 继续使用 "Skyfos" 而不是 "Skyphos"。 谢谢。

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

您只将 ontology A 传递给重命名器。如果 B 已经使用旧的 IRI,则不会更改。将两个本体传递给重命名器并重试。