В моем проекте я хотел бы получить весь класс диапазона, связанный с данным классом, по ограниченным (somevaluefrom или allvalues from) объектным свойствам.Я могу получить ограниченные выражения подкласса Axioms, включая данный класс, но как я могу получить класс диапазона в этих выражениях?Другими словами, как я могу получить все связанные классы для данного класса, кроме унаследованного подкласса.
Например:
public static void printSubClassOfAxioms(OWLOntology ontology,OWLReasoner reasoner,OWLClass owlClass){
for(OWLSubClassOfAxiom ax:ontology.getSubClassAxiomsForSubClass(owlClass)){
OWLClassExpression expression=ax.getSuperClass();
System.out.println(ax);
System.out.println(expression);
}
}
Результаты:
SubClassOf(<#FourCheesesTopping> <#CheeseTopping>)
SubClassOf(<#FourCheesesTopping> ObjectSomeValuesFrom(<#hasSpiciness> <#Mild>))
SubClassOf(<#FourCheesesTopping> ObjectAllValuesFrom(<#hasCountryOfOrigin> #Country>))
Как мне просто получить диапазон классов #Country и #Mild
Спасибо за внимание!