W3C home > Mailing lists > Public > www-webont-wg@w3.org > December 2002

Re: oneOfDistinct, a proposal for 5.18

From: Dan Connolly <connolly@w3.org>
Date: 20 Dec 2002 09:45:46 -0600
To: "Peter F. "Patel-Schneider <pfps@research.bell-labs.com>
Cc: www-webont-wg@w3.org
Message-Id: <1040399146.24217.206.camel@dirk.dm93.org>

On Fri, 2002-12-20 at 09:20, Peter F. Patel-Schneider wrote:
> Summary: There are problems with oneOfDistinct. I'm not going to be able to
> change the semantics document to add it until probably after the F2F.  I'm
> also asking that the resolution of the WG be revisited (reopened, [whatever
> is the appropriate term].)

This looks like new information, though I don't really understand it...

> 
> From: Dan Connolly <connolly@w3.org>
> Subject: oneOfDistinct, a proposal for 5.18 - Unique names assumption
> Date: 11 Dec 2002 15:27:52 -0600
> 
> [...]
> 
> > Several of us liked "allDifferent"
> > back on 12Nov, but I'd like the guide editors
> > and such to noodle on better names, because it
> > doesn't flow very well in context. Let's
> > go with oneOfDistinct for now...
> > 
> > <owl:Class rdf:ID="WineColor">
> >   <rdfs:subClassOf rdf:resource="#WineDescriptor"/>
> >   <owl:oneOfDistinct rdf:parseType="Collection">
> >     <owl:Thing rdf:about="#White"/>
> >     <owl:Thing rdf:about="#Rose"/>
> >     <owl:Thing rdf:about="#Red"/>
> >   </owl:oneOfDistinct>
> > </owl:Class>
> > 
> > I propose that the guide editor take an ACTION
> > to integrate that example into the section
> > on enumerated classes, salting to taste.
> > Mike S, does that make sense?
> 
> When revising the semantics document, I came up against a number of
> problems with oneOfDistinct.  It looks benign in the above context, but
> consider the following to situations:
> 
> <owl:Class rdf:ID="foo">
>   <rdfs:subClassOf>
>     <owl:intersectionOf rdf:parsetype="Collection">
>      <owl:Restriction>
>        <owl:onProperty rdf:resource="#child" />
>        <owl:allValuesFrom>
>          <owl:intersectionOf rdf:parsetype="Collection">
>            <owl:Class rdf:about="#RichPeople" />
> 	   <owl:oneOf rdf:parsetype="Collection">
> 	     <owl:Person rdf:about="#John"/>
> 	     <owl:Person rdf:about="#Susan"/>
> 	   </owl:oneOf>
>          </owl:intersectionOf>
>        </owl:allValuesFrom>
>      </owl:Restriction>
>      <owl:Restriction>
>        <owl:onProperty rdf:resource="#child" />
>        <owl:minCardinality rdf:datatype="xsd:nonNegativeInteger">2
>        </owl:minCardinality>
>      </owl:Restriction>
>     </owl:intersectionOf>
>   </rdfs:subClassOf>
> </owl:Class>
> 
> <owl:Class rdf:ID="bar">
>   <rdfs:subClassOf>
>     <owl:Restriction>
>       <owl:onProperty rdf:resource="#child" />
>       <owl:allValuesFrom>
>         <owl:intersectionOf rdf:parsetype="Collection">
>           <owl:Class rdf:about="#RichPeople" />
> 	  <owl:oneOfDistinct rdf:parsetype="Collection">
> 	    <owl:Person rdf:about="#John"/>
> 	    <owl:Person rdf:about="#Susan"/>
> 	  </owl:oneOf>
>         </owl:intersectionOf>
>       </owl:allValuesFrom>
>     </owl:Restriction>
>   </rdfs:subClassOf>
> </owl:Class>
> 
> The first example doesn't say anything about John or Susan.

I don't know what you mean by that; it seems to say that if
they're rich, they're the only things that can be children
of things in foo.

>   However, the
> second does - it says that they are disjoint.

Distinct, right?

>   This changes the intuition
> that descriptions are just descriptions, and adds an assertional component
> to them.

I don't know what to make of that.

>   This affects just about every piece of the semantics document,
> and requires a close re-examination of the correspondence proofs.  I won't
> have time to do this before the Face-to-Face.

I guess I'll just take your word for that.


> There is an alternative, however, which I think is preferable in some ways.
> 
> OWL could have something like
> 
> <owl:AllDistinct rdf:parseType="Collection">
>   <owl:Person rdf:about="#John"/>
>   <owl:Person rdf:about="#Susan"/>
> </owl:AllDisjoint>

Yes, that's the first design that came to my mind back on 12Nov.

The downside of it is that it's not straightforward to use
in the scenario in the guide. You can't just change
oneOf to oneOfDistinct in...

<owl:Class rdf:ID="WineColor">
   <rdfs:subClassOf rdf:resource="#WineDescriptor"/>
   <owl:oneOf rdf:parseType="Collection">
     <owl:Thing rdf:about="#White"/>
     <owl:Thing rdf:about="#Rose"/>
     <owl:Thing rdf:about="#Red"/>
   </owl:oneOfDistinct>
</owl:Class>

rather, you have to write all that plus

<owl:AllDistinct rdf:parseType="Collection">
     <owl:Thing rdf:about="#White"/>
     <owl:Thing rdf:about="#Rose"/>
     <owl:Thing rdf:about="#Red"/>
</owl:AllDistinct>

I suppose that's a small price to pay versus unravelling the
semantics document. But I just want us to make an informed
decision if/when we re-open this.

> This is not a description, and thus does not cause the problems of
> oneOfDistinct.
> 
> I propose reopening the decision in the telecom yesterday, and propose
> replacing oneOfDistinct with AllDistinct as above.

I'm not wild about it, but it's OK by me.

> 
> Peter F. Patel-Schneider
> Bell Labs Research
-- 
Dan Connolly, W3C http://www.w3.org/People/Connolly/
Received on Friday, 20 December 2002 10:45:50 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:57:56 GMT