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 о том, что функциональные синтаксические теги просто переводятся одинаково.