RE: ISSUE-124 (datarange complement): The complement of a datarange is defined relative to the whole data domain

Hello,

Unfortunately, this is a "feature" and not a bug. Complements of data ranges are included into OWL 2 mainly in order to provide
everything that is needed for reasoning: during reasoning, all concepts involving datatypes must be put into conjunctive normal
form, and this cannot be done unless we have data ranges. But then, the complement of data ranges *must* be defined w.r.t. the whole
domain, and not just the datatype being complemented; otherwise, using ComplementOf in order to put constructs into negation normal
form would be unsound.

Therefore, this is somewhat unfortunate, but we have to live with it, I'm afraid.

Regards,

	Boris

> -----Original Message-----
> From: public-owl-wg-request@w3.org [mailto:public-owl-wg-request@w3.org] On Behalf Of OWL Working
> Group Issue Tracker
> Sent: 04 May 2008 21:38
> To: public-owl-wg@w3.org
> Subject: ISSUE-124 (datarange complement): The complement of a datarange is defined relative to the
> whole data domain
> 
> 
> 
> ISSUE-124 (datarange complement): The complement of a datarange is defined relative to the whole data
> domain
> 
> http://www.w3.org/2007/OWL/tracker/issues/
> 
> Raised by: Michael Schneider
> On product:
> 
> The current OWL 2 DL semantics of datarange complements is according to [1]:
> 
>     ComplementOf(DR) = DataDomain \ DR
> 
> i.e. the set of all existing datavalues from rdfs:Literal, except the values specified by the
> datarange.
> 
> For example:
> 
>     ComplementOf(
>         DatatypeRestriction(
>             xsd:nonNegativeInteger
>             minExclusive 18
>         )
>     )
> 
> is not only the set of all non-negative integers >= 18, but this set also contains all strings,
> floats, and even all integers, since the datatype xsd:integer is disjoint from
> xsd:nonNegativeInteger.
> 
> I suggest to change the semantics of datarange complements to:
> 
>   ComplementOf(DR) = EnclosingDataType \ DR
> 
> With this change, the example complement above would exclusively contain all non-negative integers >=
> 18.
> 
> As a special case, the complement of a complete datatype would be the empty datarange, e.g.
> 
>   ComplementOf(xsd:nonNegativeInteger) = {}
> 
> 
> [1] <http://www.w3.org/2007/OWL/wiki/Semantics#Data_Range_Expressions>
> 
> 
> 

Received on Sunday, 4 May 2008 21:50:49 UTC