W3C home > Mailing lists > Public > www-webont-wg@w3.org > July 2003

Re: Revisiting AllDisjoint (was Proposed (parital) response to Ken Laskey and questions for WG)

From: Jim Hendler <hendler@cs.umd.edu>
Date: Tue, 15 Jul 2003 18:31:01 -0400
Message-Id: <p05200f64bb3a2d7434df@[]>
To: "Jonathan Borden" <jonathan@openhealth.org>, "webont" <www-webont-wg@w3.org>
At 6:07 PM -0400 7/15/03, Jonathan Borden wrote:
Jim, I think that all these disjoint statements and qualified 
cardinalities may very well be two heads of the same coin. If you are 
trying to say that a person may have at most one of a particular type 
of genetic disease, this seems to be a qualified cardinality. If we 
had QCRs you wouldn't be tempted to model this as a bazillion 
disjoints, eh? e.g. something akin to (and pardon my ad-hoc syntax)

hair-genes := oneOf(red-hair-gene, brown-hair-gene, blond-hair-gene)
patient has cardinality=1 hair-genes

as opposed to saying

AllDisjoint(RedHeads, Brunettes, Blondes)
patient rdf:type RedHeads

I'm a little lost though, are you saying that genes themselves, or 
genetic loci are _classes_? The relationship of a particular gene to 
a class of patient is as a _property restriction_ on the class of 
people who have a copy of the gene.


Jonathan - lets take a simpler example from outside medicine (so you 
have less advantage over me).  Here's a use case that was sent in 
once earlier, and appears in our record [1] - If I had a list of all 
the different reptiles (for example), it would be very useful in 
classifying a zoological specimen to know that if it is a crocodile, 
it can't be an alligator, even though it might have many similar 
features.  There may be reptiles as yet undiscovered, or there may be 
some in my database where I don't know a priori which class they are 
in, but if I do know the class and it is one I know is a particular 
kind of reptile, than it would sure be nice to help my classified 
avoid stupid mistakes.  Thus, I'd like to say

:Alligator owl:disjointWith :Crocodile
:GilaMonster owl:disjointWith :Crocodile
:GilaMonster owl:disjointWith :Alligator
and etc -- pushing this example (and, by the way, it is one my group 
is working on in a new project) we would like to use a classifier to 
classify the reptiles in a large DB such as the one found at [2] -- 
problem is there are

The following number of reptile classes represented in [2]

Amphisbaenia (amphisbaenians)   160
Sauria (lizards)   4675
Serpentes (snakes) 2940
Testudines (turtles) 302
Crocodylia (crocodiles) 23
Rhynchocephalia (tuataras) 2
Reptiles total 8101

So in OWL, we would need 18 different statements to differentiate the 
6 classes, but we would need a total of well over 14,000,000 disjoint 
statements if we really wanted to make these assertions explicitely 
-- writing this down as 6 lists with 4675 clauses in one of the lists 
is bad enough!
p.s. Note that in actual implementation we are using an extra-logical 
mechanism to deal with the reasoning because adding the 14M 
assertions would overwhelm any reasoner built to date -- but I think 
that is immaterial to the matter at hand -- our database scraper 
would like to note that the members of these classes are disjoint.

[1] http://lists.w3.org/Archives/Public/www-webont-wg/2003May/0206.html

[2] http://www.embl-heidelberg.de/~uetz/LivingReptiles.html
Professor James Hendler				  hendler@cs.umd.edu
Director, Semantic Web and Agent Technologies	  301-405-2696
Maryland Information and Network Dynamics Lab.	  301-405-6707 (Fax)
Univ of Maryland, College Park, MD 20742	  *** 240-277-3388 (Cell)
http://www.cs.umd.edu/users/hendler      *** NOTE CHANGED CELL NUMBER ***
Received on Tuesday, 15 July 2003 18:37:33 UTC

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