Errors in OWL 2 Profiles specification (and bugs in OWLAPI & OWLAPI Tools profile validator)

The  investigation of some errors reported in the OWLAPI profile checkers
(see owlapi issue #435 <https://github.com/owlcs/owlapi/issues/435>) has
revealed what appear to be some errors and ambiguities in the OWL 2 Profile
Specification document.

*1. Defined Datatypes*

 All three profiles use the phrase <*profile*>  "supports the following
datatypes"

   -  EL: §2.2.1
   <http://www.w3.org/TR/2012/REC-owl2-profiles-20121211/#Entities>
   -  QL: §3.2.1
   <http://www.w3.org/TR/2012/REC-owl2-profiles-20121211/#Entities_2>
   -  RL: §4.2.1
   <http://www.w3.org/TR/2012/REC-owl2-profiles-20121211/#Entities_3>

The OWLAPI profile checkers have been interpreting this as exhaustive
enumeration.  This is consonant with the corresponding text on data ranges.


*2.2.4 Data Ranges
> <http://www.w3.org/TR/2012/REC-owl2-profiles-20121211/#Data_Ranges>*

"A data range expression is restricted in OWL 2 EL to the predefined
> datatypes admitted in OWL 2 EL, intersections of data ranges, and to
> enumerations of literals consisting of a single literal."


*3.2.4 Data Ranges
> <http://www.w3.org/TR/2012/REC-owl2-profiles-20121211/#Data_Ranges_2>*
> A data range expression is restricted in OWL 2 QL to the predefined
> datatypes and the intersection of data ranges.


*4.2.4 Data Ranges
> <http://www.w3.org/TR/2012/REC-owl2-profiles-20121211/#Data_Ranges_3>*

A data range expression is restricted in OWL 2 RL to the predefined
> datatypes admitted in OWL 2 RL and the intersection of data ranges.


However, all three profiles include the DatatypeDefinition axiom. Either
this axiom can define Data Ranges which can never be referred to, or, if
DataType is restricted to the pre-defined types, can only be used to
illegally attempt to redefine one of those pre-defined types (such
redefinition is not explicitly prohibited in the Structural Fun Syntax Spec
<http://www.w3.org/TR/owl2-syntax/#Datatype_Maps>; it's just not
possible).

It would seem that the clear intent behind allowing datatype definition
axioms in the profiles would have been to permit the use of those
definitions as data ranges where such use would be permitted in OWL 2 DL,
and that sections [2-4].2.4 are in error.

*2. Irreflexive Property Axioms in OWL QL*

In the overview of OWL QL features in  §3.1
<http://www.w3.org/TR/2012/REC-owl2-profiles-20121211/#Feature_Overview_2>,
OWL 2 QL is stated to support "reflexive properties
(ReflexiveObjectProperty)" and  "irreflexive properties
(IrreflexiveObjectProperty)".

However in the detailed specifications of axioms in § 3.2.5
<http://www.w3.org/TR/2012/REC-owl2-profiles-20121211/#Axioms_2> ,
IrreflexiveObjectProperty
is omitted from the production for ObjectPropertyAxiom.
This omission is repeated in the full OWL 2 QL grammar in §6.2
<http://www.w3.org/TR/2012/REC-owl2-profiles-20121211/#OWL_2_QL_2>. There
is also no production  for IrreflexiveObjectProperty.

It is not immediately obvious why IrreflexiveObjectProperty would be
problematic for QL (there is no transitivity or chains, and reflexivity is
supported).  Is the omission from the grammar accidental?

I am trying to figure out when this divergence happened; reflexivity is not
mentioned at all in the OWL 1.1  Tractable Fragments submission, and the
divergence is already present in the first  version of the Profile document
to appear on the Wiki.

*3.  OWLAPI bugs*

DisjointClasses axioms were incorrectly flagged as violations of QL and RL.
(This error had been spotted and fixed for EL in February 2015).

I believe that these errors were introduced at the end of March 2014.

*Note: I believe that profile checkers are now over-generating (the
elements in the class are not being checked to see if they are valid
subclass expressions).  This will be fixed shortly. *

DisjointDataProperties, EquivalentDataProperties and  DataIntersectionOf
were incorrectly flagged as  violations of RL.

ReflexiveObjectProperty was incorrectly *not* flagged as a violation of RL.

Ignazio Palmisano resolved the ambiguity in (2)  in favor of not flagging
irreflexive properties as violations of QL by Executive Fiat
<http://www.nytimes.com/2015/07/24/business/dealbook/fiat-chrysler-files-for-ipo-of-ferrari.html?_r=0>
 .

No  action has been taken on issue 1.


*4. OWLAPI Tools bugs*

*(Not Addressed)*

The issues with DisjointClasses are not present in the OWLAPITOOLS version
of the profile checkers (These errors were introduced when the code was
integrated into OWLAPI).

The other issues list above were (and remain) present in the owlapitools
code.

Simon

Received on Tuesday, 25 August 2015 01:12:56 UTC