У меня есть онтология, созданная с помощью protègè, я определил ObjectProperty
с именем part-Of.
Я анализирую OWLClass
, пытаясь выяснить, являются ли подклассы part-Of
проанализированным классом. В этом случае я анализирую At_Home
, когда подклассы ANA
и PHE
имеют следующую подпись subclass of
, как на этом рисунке.
Я уже пробовал с:
OWLDataFactory df = manager.getOWLDataFactory();
OWLObjectProperty partOf = df.getOWLObjectProperty("part-Of");
OWLClassExpression c = df.getOWLObjectSomeValuesFrom(partOf, target);
NodeSet<OWLClass> subClasses = hermit.getSubClasses(c, true);
if(subClasses.isEmpty()) {
//System.out.println("\tQuesta classe non ha parti");
res[0] = null;
}
else {
for(Node<OWLClass> parte : subClasses) {
risultato.add(parte.getRepresentativeElement().getIRI().getFragment());
}
res[0] = risultato;
}
где target
- это At_Home
OWLClass
, но метод продолжает возвращать пустое NodeSet
, поэтому это означает, что At_Home
не имеет частей, даже если ANA
и PHE
являются его частями .
Требуемый результат должен быть NodeSet
с OWLClass
"ANA" и "PHE"