[英]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.