我在标准披萨ontology上使用OWL API 3.4.3和Hermit 1.3.8.1(推理者)。
我尝试提取类的直接超类。
提供的教程 here不考虑直接超类的提取。 例如, Food有两个超类,即
显示一个简单的代码段来提取上面提到的 Direct超类(即DomainConcept)。
public Set<OWLClass> getDirectSuperClasses(String classExpressionString, boolean direct) {
if (classExpressionString.trim().length() == 0) {
return Collections.emptySet();
}
OWLClassExpression classExpression = parser
.parseClassExpression(classExpressionString);
//NodeSet<OWLClass> subClasses = reasoner.getSubClasses(classExpression, direct);
NodeSet<OWLClass> directSuperClasses = **reasoner.get_________?????**
return directSuperClasses.getFlattened();
}
我无法找到可以使用推理对象调用的任何相关方法 。
直接获得所需输出的任何技巧?
提前致谢:)
答案 0 :(得分:1)
您所使用的方法是OWLReasoner::getSuperClasses(OWLClassExpression, boolean)
源代码(包括javadoc)可用here