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

Hello,

I would just like to point out that negated data ranges are not really meant to be used by the users directly; rather, they have
been introduced in order to allow for some common syntactic transformations of ontologies. A typical such transformation is putting
an ontology axiom into negation-normal form. In OWL 1, this was not always possible because there was no way to represent
complemented data ranges, and this lead to quite a few problems for tools. Some tools provided proprietary extensions of the
language for this purpose, but then you couldn't serialize the transformed ontology back into a well-known syntax.

I really do not expect people to use complemented data ranges directly. Furthermore, if your ontology contains range constraints on
all data properties, then the complement of data ranges really becomes relative to the datatype of the data range. Most ontologies
really do contain appropriate range constraints for data properties, so this problem will not be visible.

In this light, I strongly believe we should not introduce other complexity into the language and simply close this issue.

Regards,

	Boris

> -----Original Message-----
> From: public-owl-wg-request@w3.org [mailto:public-owl-wg-request@w3.org] On Behalf Of Evan Wallace
> Sent: 20 May 2008 23:08
> To: Michael Schneider
> Cc: OWL Working Group WG
> Subject: Re: ISSUE-124 (datarange complement): The complement of a datarange is defined relative to
> the whole data domain
> 
> 
> Michael Schneider wrote:
> > Jeremy Carroll answered to Boris Motik:
> >
> >
> >>> >> 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
> >>>
> >
> > [...]
> >
> >
> >> >I am assuming it is possible to express the intersection of the
> >> >enclosing type with the complement - so that Michael's point is more
> >> >about usability than expressability.
> >>
> >
> > Good point! For example:
> >
> >     IntersectionOf(
> >         AllValuesFrom( badBodyTemperature xsd:decimal )
> >         AllValuesFrom( badBodyTemperature ComplementOf(
> >             DatatypeRestriction( xsd:decimal minInclusive 35 maxExclusive 42
> > ))))
> >
> > Perhaps one can introduce some syntactic sugar, or just leave the situation
> > as is, and add some note into the Primer instead on how to handle such
> > common cases.
> >
> > Cheers,
> > Michael
> >
> >
> I saw this issue was coming up for discussion on the agenda for
> tomorrow's telecon,
> and I had a couple of comments about it.
> 1) The fact that ComplementOf a DataRange produces an ugly collection of
> literal
> values is what I would expect.
> 2) But it would also be nice to have a DataIntersectionOf DataRange
> constructor that
> would allow intersecting another DataType with the ugly complemented
> DataRange
> directly.  This would be analogous to the structure of ClassExpressions
> and thus would
> be quite intuitive for the user.
> 
> -Evan
> 

Received on Wednesday, 21 May 2008 09:35:04 UTC