Я пытаюсь удалить некоторые буквенные аннотаций из онтологии с использованием OWLAPI версии 4.0.2 (с Maven)Удалить онтологии аннотации с помощью OWLAPI
В этой цели я использую класс RemoveOntologyAnnotation и менеджер applyChange() метод. Здесь (упрощенно) код я использую:
OWLOntologyManager m = OWLManager.createOWLOntologyManager();
OWLOntology ontology = null;
File ontologyFile = new File(ontologyFileName);
try {
ontology = m.loadOntologyFromOntologyDocument(ontologyFile);
} catch (OWLOntologyCreationException e) {
e.printStackTrace();
}
for (OWLClass cls : ontology.getClassesInSignature()) {
for (OWLAnnotation annotation : EntitySearcher.getAnnotations(cls.getIRI(), ontology)) {
if (annotation.getValue() instanceof OWLLiteral) {
RemoveOntologyAnnotation rm = new RemoveOntologyAnnotation(ontology, annotation);
System.out.println(m.applyChange(rm));
}
}
}
Метод applyChange() всегда возвращается «Неудачно» И я не мог найти никакой документации о том, почему аннотация удаления не работает.
N.B .: найдены некоторых указаний здесь http://sourceforge.net/p/owlapi/mailman/message/28203984/ Где это похоже на работу
Онтология аннотация аннотации, которые прикреплены к онтологии самой IRI; то, что вам нужно, - это утверждения аннотаций. @dhke уже предоставил хороший ответ о том, как это сделать. – Ignazio