我已经知道如何从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());
}
答案 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)
它适用于实体和匿名个人。