【发布时间】:2019-03-13 20:27:01
【问题描述】:
我有一个用 protègè 制作的本体,我定义了一个名为 part-Of 的 ObjectProperty。
我正在解析 OWLClass 试图找出子类是否是 part-Of 解析的类。在这种情况下,当子类 ANA 和 PHE 具有以下 subclass of 签名时,我正在解析 At_Home,如图所示
我已经尝试过:
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 是它的部分.
想要的结果应该是带有OWLClass“ANA”和“PHE”的NodeSet
【问题讨论】: