繁体   English   中英

如何使用OWLAPI解析OWL2文件-AnnotationProperties

[英]How to parse OWL2 file with OWLAPI - AnnotationProperties

我有一个OWL文件(OWL2),我需要对其进行分析并将最终将数据写入某个文件中。 该文件包含AnnotationProperties,DataProperties,ObjectProperties和Classs。

我的第一个目标是尝试尽可能列出房地产信息。 即为AnnotationProperties查看是否可以打印出属性名称和“值”。

类似地,为了能够显示类的详细信息,即每个类的名称,类的名称,属性(即类的数据或对象属性)。 我不确定该怎么做,到目前为止我所做的任何阅读都令人困惑,因为它似乎是在谈论实例,我认为文件中不存在这些实例。 另外,OWLAPI javadoc和文档等对于我可能必须调用的方法不是很有帮助。

例如,如果我具有以下AnnotationProperty:

<owl:AnnotationProperty rdf:about="&xxx;SOME_ID">
    <ABC rdf:datatype="xsd;string">1235412</ABC>
</owl:AnnotationProperty>

ontology.getAnnotationPropertiesInSignature()会给我一组AnnotationProperties,我可以迭代并说出property.getIRI()。getFragment()来查看SOME_ID,但是现在我将如何获取和显示内部内容,即ABC-1235412? 同样,对如何获取类信息(即显示或显示其属性和限制)的任何帮助都将受到赞赏。

您显示的片段不会使用属性SOME_ID创建注释声明公理,而是使用属性SOME_ID本身进行注释。 三元组如下所示:

SOME_ID ABC "1235412"^^xsd:int

从您对要执行的操作的描述中,您/需要/实例-任何属性(注释,对象或数据属性)的值都通过断言来表示,即,引用一个人(或实例-这两个名称)的公理指相同的概念)。

例如,

Ignazio hasAge "38"^^xsd:int

将是对单个Ignazio的值为38的数据或注释属性声明。

要访问这些断言,可以使用

OWLIndividual ignazio = ...
ontology.getAnnotationAssertionAxioms(ignazio);

要访问显示的注释,例如在annotatio属性本身上,请执行以下操作:

OWLAnnotationProperty some_id = ...
ontology.getAnnotationAssertionAxioms(some_id.getIRI());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM