OWL api Java find Annotation

问题描述

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

...
super().__init__()
torch.set_default_tensor_type(torch.DoubleTensor)
self.rnn = nn.RNN(input_size=input_size,hidden_size=hidden_size,batch_first=True)
# may be turn defaults back to floats:
# torch.set_default_tensor_type(torch.FloatTensor)

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

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

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

但我需要以某种方式获得一个列表,其中注释的个人的IRI,并且主题将例如在文件主题

提前致谢!

解决方法

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

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...