OWL-XML 使用 OWLAPI 序列化 SWRL 规则

OWL-XML serialization of SWRL rules with OWLAPI

指定的 OWL-XML 序列化格式在哪里,OWLAPI 使用它来序列化 SWRL 规则? 例如。通过使用 Protege(据我所知使用 OWLAPI)序列化一个简单的规则,我得到以下代码:

<DLSafeRule>...
        <ClassAtom>
            <Class IRI="#Person"/>
            <Variable IRI="x"/>
        </ClassAtom>
</DLSafeRule>

这与 SWRL 规范不同 [1]:

<swrlx:classAtom> 
  <owlx:Class owlx:name="Person" />
  <ruleml:var>x1</ruleml:var>
</swrlx:classAtom>

和[2]中介绍的建议:

<owl:ClassAtom>
  <owl:Class IRI="#Person"/>
  <owl:IndividuialVariable IRI="#x"/>
</owl:ClassAtom>

谢谢! [1]https://www.w3.org/Submission/SWRL/ [2]http://dl.acm.org/citation.cfm?id=2890050

据我所知,您要查找的文件是这个:

https://www.w3.org/TR/owl-xmlsyntax/

请注意,OWL/XML 和 RDF/XML 是非常不同的序列化格式。 RDF/XML 是 W3C 标准,而 OWL/XML 不是。

编辑:以下论文由 Matthew Horridge 撰写,他是 OWL API 和当前 Protege 代码库的主要作者之一,并指出了我不知道的 W3C 推荐的。

http://ontogenesis.knowledgeblog.org/88

https://www.w3.org/TR/2009/REC-owl2-xml-serialization-20091027/

该文档中没有提及 SWRL,因此从技术上讲,OWL/XML 中没有 SWRL 输出规范。但是附录中的注释https://www.w3.org/TR/2009/REC-owl2-xml-serialization-20091027/#Appendix:_The_Derivation_from_the_Functional_Syntax_.28Informative.29 描述标签是如何设计的;因此,遵循 AKSW 的关于功能语法标签的简单翻译方式的理论是有意义的。