我发现我目前迭代所有注释的方法耗费时间......你能建议更好的方法吗? 这是我目前的代码: -
Set<OWLAnnotationAssertionAxiom> annotations = ont.getAnnotationAssertionAxioms(relationIRI);
if (annotations != null && annotations.size() > 0)
for (OWLAnnotationAssertionAxiom annotation : annotations) {
if (annotation.getProperty().getIRI().getShortForm().equals(OntologyConstants.ABSTRACT))
abstractProperty = true;
}
答案 0 :(得分:2)
在OWLAPI 3中,没有更简单的方法可以满足您的需求。
在OWLAPI 4中,如果您知道要搜索的属性的完整IRI(不仅仅是简短形式),您可以这样做:
OWLAnnotationProperty p = owlDataFactory.getOWLAnnotationProperty(iri);
abstractProperty= !EntitySearcher.getAnnotationObjects(relationIRI, ont, p).isEmpty();
如果您只有简短形式,则无法利用任何快捷方式,原始代码仍然是最佳方式。