0

我有一个 .owl 文件,其语法如下:

<AnnotationAssertion>
        <AnnotationProperty abbreviatedIRI="iri_of_annotation"/>
        <IRI>subject</IRI>
        <IRI>object</IRI>
</AnnotationAssertion>

所以我可以得到一个人的注释:

OWLAnnotationProperty prop = factory.getAnnotationProperty(IRI.create("iri_of_annotation"));
individual.getAnnotations(ontology, prop);

这将返回一个注释列表,其中每个注释的主题都是个人,并且值与示例文件对象中的值类似,并且按预期工作。

但我需要以某种方式获取一个列表,其中注释的个人的 IRI,并且主题将类似于文件主题中的示例。

提前致谢!

4

1 回答 1

0

没有方便的方法来查找具有特定值的注释,因此您必须遍历所有注释断言公理并检查注释值是否与您所追求的值匹配。

(您显示的代码似乎使用 OWLAPI 3 方法,对吗?如果是这样,我建议升级到更新的版本,OWLAPI 3 现在真的很古老。)

注意: IRI.create("iri_of_annotation") 创建一个相对 IRI;从文件中读取本体时,相对 IRI 将被设为绝对,因此如果您在代码中不使用绝对 IRI,您很可能无法按照需要匹配数据。

于 2021-04-08T20:09:27.800 回答