Это часть моего OWL-файла:
# Class: :Book (:Book)
SubClassOf(:Book ObjectSomeValuesFrom(:writtenBy owl:Thing))
SubClassOf(:Book DataSomeValuesFrom(:genre rdfs:Literal))
SubClassOf(:Book DataSomeValuesFrom(:title rdfs:Literal))
Как я могу получить только атрибуты DataSomeValuesFrom
?
я использую owlapi 5.1.0
и отшельник как мыслитель.
РЕДАКТИРОВАТЬ: Вот как я решил. Я не знаю, правильный ли это метод, но он работает.
Спасибо @AKSV за ответ с очень полезной информацией ....
for (OWLClass cls : o.getClassesInSignature()){
Set<OWLSubClassOfAxiom> set = o.getSubClassAxiomsForSubClass(cls);
for(OWLSubClassOfAxiom subcl : set){
OWLClassExpression nomeattribEXPR = subcl.getSuperClass();
if(nomeattribEXPR.getClassExpressionType().toString().equals("DataSomeValuesFrom")){
//do something
}
}
}
}