[英]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.