OWL API переименовывает сущность из импортированной онтологии - PullRequest
0 голосов
/ 11 октября 2018

У меня есть онтология 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, но в BI естьсущности.В частности, в B каждое свойство объекта, которое использует «Skyfos», продолжает использовать «Skyfos» вместо «Skyphos».Спасибо.

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

Вы передали только онтологию А переименователю.Если B уже использует старый IRI, он не будет изменен.Передайте обе онтологии переименователю и попробуйте снова.

0 голосов
/ 11 октября 2018

Проблема здесь в том, что OWLEntityRenamer требует изменения всей онтологии.

...