OWL-XML сериализация правил SWRL с 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

1 ответ

Решение

Насколько я могу сказать, документ, который вы ищете, вот этот:

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

Обратите внимание, что OWL/XML и RDF/XML - это очень разные форматы сериализации. RDF/XML - это стандарт W3C, а OWL/XML - нет.

Редактировать: Следующая статья написана Мэтью Хорриджем, одним из основных авторов API OWL и текущей базы кода Protege, и указывает на рекомендацию W3C, о которой я не знал.

http://ontogenesis.knowledgeblog.org/88

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

В этом документе нет упоминания о SWRL, поэтому технически не существует спецификации для вывода SWRL в OWL/XML. Но примечание в приложении https://www.w3.org/TR/2009/REC-owl2-xml-serialization-20091027/ описывает, как были разработаны теги; поэтому имеет смысл использовать теорию AKSW о том, что функциональные синтаксические теги просто переводятся одинаково.

Другие вопросы по тегам