[英]Get part-Of class from OWL Ontology
我有一个用 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
,因此这意味着即使ANA
和PHE
是At_Home
部分,它也没有部分。
想要的结果应该是一个带有OWLClass
"ANA" 和 "PHE" 的NodeSet
df.getOWLObjectProperty("part-Of");
这就是问题。 您需要使用您财产的完整 IRI,而不仅仅是片段; 这与您的本体中所述的属性不匹配。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.