如何使用OWLAPI从owl个人获取注释

时间:2014-09-02 11:48:37

标签: java owl owl-api

我已经知道如何从OWL类中获取注释(请参阅下面的java代码)。但是我无法从OWL个人那里获得注释。有人可以告诉我如何为OWLIndividual而不是OWLClass编写相同的功能吗?三江源!

IRI iri = IRI.create("http://www.example.com/ontology/108024893-n"); //class IRI
OWLClass clazz = manager.getOWLDataFactory().getOWLClass(iri);

for (OWLAnnotation annotation : clazz.getAnnotations(ontology)) 
{
  System.out.println("\nannotation value: "+annotation.getValue());
}

2 个答案:

答案 0 :(得分:1)

我得到了解决方案:我必须将个人转换为OWLEntity:

OWLEntity entity = (OWLEntity)individual;
for (OWLAnnotation annotation : entity.getAnnotations(ontology)) 
{
    System.out.println("\nannotation property->value: "+annotation.getProperty()+" -> "+annotation.getValue());
}

答案 1 :(得分:1)

一般解决方案是使用OWLOntology.getAnnotationAssertionAxioms(OWLAnnotationSubject)

它适用于实体和匿名个人。