Я использую OWL-Api и модуль hermiT, пытаясь получить подклассы partOf с помощью hermiT, он возвращает правильный результат, поэтому подклассы partOf, но также возвращают подклассы с выводом (которые мне не нужны).
Эта функция используется для извлечения подклассов partOf:
//ricerca delle classi che hanno come parti quella attuale
System.out.println("Questa classe è parte di: ");
OWLClassExpression domain = df.getOWLObjectIntersectionOf((Stream<? extends OWLClassExpression>) ontologia.objectPropertyDomainAxioms(partOf));
NodeSet<OWLClass> subClassesInDomain = hermit.getSubClasses(domain, false);
if(subClassesInDomain.isEmpty()) {
System.out.println("\tQuesta classe non è parte di nessun'altra");
}
else {
for(Node<OWLClass> parteDi : subClassesInDomain) {
OWLClass classe2 = parteDi.getRepresentativeElement();
System.out.println("\t"+ classe2.getIRI().getFragment());;
}
}
На этом изображении представлен фактический результат операции. данный результат
В этом показывается результат, который мне нужен. требуемый результат
Есть ли способ отключить механизм вывода hermiT только для этой операции?