【问题标题】:OWL-XML serialization of SWRL rules with OWLAPIOWL-XML 使用 OWLAPI 对 SWRL 规则进行序列化
【发布时间】:2017-08-07 11:37:52
【问题描述】:

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

【问题讨论】:

  • 我猜您的第一个代码只是基于 OWL 功能语法的转换后的 XML 文档。语法在这里:cs.ox.ac.uk/files/2445/rulesyntaxTR.pdf
  • 感谢您的回答。您添加的论文是来源 [2],我的示例取自这篇论文。

标签: owl owl-api swrl


【解决方案1】:

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

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 的关于功能语法标签的理论是有意义的,只需以相同的方式翻译。

【讨论】:

  • 嗨,我猜 TO 是在询问在哪里可以找到 OWL/XML 格式的 SWRL 部分。不幸的是,这不包含在 W3C 文档中。第 5 节中的 W3C SWLR submission 使用不同的 XML 标记,这就是 TO 混淆的原因。我猜SWRL公理渲染只是将OWL函数语法作为XML标签,但是除了这个publicationCheers!
  • 没错。谢谢你。但是,提供的源表 1 区分了“IndividualVariable”和“LiteralVariable”——Protege 序列化不使用这两个标签
  • 所以让我感到困惑的是 Protege 序列化与您提供的出版物第 4 节中介绍的序列化示例之间的区别
  • 好的,谢谢大家的努力。变量的问题仍然让我感到困惑,但似乎没有可用的公开描述..
  • 在 owl api 中有一个公开可用的实现,尽管阅读源代码并不总是最清晰的选择 :-)
猜你喜欢
  • 2021-11-12
  • 2013-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-24
  • 1970-01-01
相关资源
最近更新 更多