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

oneOfDistinct, a proposal for 5.18 - Unique names assumption

From: Dan Connolly <connolly@w3.org>
Date: 11 Dec 2002 15:27:52 -0600
To: www-webont-wg@w3.org
Message-Id: <1039642073.2127.482.camel@dirk>

Issue 5.18 - Unique names assumption
ACTION:  Dan Connolly to write up the 'all different' proposal for Issue
]] -- 12Nov

OK, trying to get all the relevant stuff on one page...
let's start with the issue description...

"The differentIndividualFrom form provides a way of enumerating pairwise
disjointness between individuals.

The abstract syntax document mentions DifferentIndividuals that takes a
list as an argument that then states that all of the individuals in the
list are distinct.

Both of these options however still require a complete listing of all of
the individuals that are distinct either stating pairwise disjointness
of combining them in a list.

This issue requests additional support for stating uniqueness."

This proposal doesn't really address the issue. So it's
a proposal to add a term to our language that mimics
the abstract syntax feature described above, but then to
POSTPONE the issue, since we don't have adequate implementation
experience with designs for expressing things like
"all the names in this namespace denote distinct things".

Let's look at the oneOf section in the guide...

The example there is

<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"/>

note that this doesn't actually say that #White and
#Rose are distinct things. So let's introduce
a new property...

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"/>

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?

Likewise, the language reference editor will
please take an ACTION to add something
like this to our vocabulary/schema/owl.owl thingy:

  owl:oneOfDistinct a rdfs:Property;
	rdfs:label "all different";
	rdfs:subPropertyOf owl:oneOf.

Mike D, does that tell you what you need to
know to update the reference doc?

I dunno if it deserves discussion in the synopsis;
it's not critical to me. But I'd like an ACTION
for the feature synopsis editor to think about it.

As to semantics, here's how I wrote in in N3
in my experiments (which, due to list handling
bugs in cwm, never quite worked; Jos, maybe you can
check my work here. I prefer not to use
the math:index stuff.)

{ ?C owl:oneOfDistinct ?L } log:implies { ?L a :DistinctList }.
{ ?L a :DistinctList; l:rest ?L2 } log:implies { ?L2 a :DistinctList }.
{ ?L a :DistinctList;
     l:first ?X;
     l:rest [ l:first ?Y ] }
  log:implies { ?X owl:differentFrom ?Y }.

I'm pretty sure Pat Hayes, among others, understands
what I mean well enough to edit the semantics document accordingly.

As to test cases, Jos seems to have at least two


There. That's it. OK?

Dan Connolly, W3C http://www.w3.org/People/Connolly/
Received on Wednesday, 11 December 2002 16:27:37 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:56:49 UTC