OWLAPI 用于序列化 SWRL 规则的 OWL-XML 序列化格式在哪里指定? 例如,通过使用 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关于功能语法标签的理论是有意义的,只需以相同的方式翻译。