user3579222
user3579222

Reputation: 1430

OWL-XML serialization of SWRL rules with OWLAPI

Where is the OWL-XML serialization format specified which is used by the OWLAPI to serialize SWRL rules? E.g. by serializing a simple rule using Protege (which uses the OWLAPI as far as I know) I get the following code:

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

This is different from the SWRL specification [1]:

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

and from the suggestion introduced in [2]:

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

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

Upvotes: 1

Views: 241

Answers (1)

Ignazio
Ignazio

Reputation: 10659

As far as I can tell the document you're after is this one:

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

Note that OWL/XML and RDF/XML are very different serialization formats. RDF/XML is a W3C standard, while OWL/XML is not.

Edit: The following paper is by Matthew Horridge, one of the main authors of the OWL API and of the current Protege code base, and points to a W3C recommendation I was not aware of.

http://ontogenesis.knowledgeblog.org/88

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

There is no SWRL mention in that document, so technically there is no spec for SWRL output in OWL/XML. But the note in the appendix https://www.w3.org/TR/2009/REC-owl2-xml-serialization-20091027/#Appendix:_The_Derivation_from_the_Functional_Syntax_.28Informative.29 describes how the the tags were designed; so it makes sense to go with AKSW's theory about the functional syntax tags simply translated the same way.

Upvotes: 2

Related Questions