簡體   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