- From: Jim Hendler <hendler@cs.umd.edu>
- Date: Tue, 15 Jul 2003 18:31:01 -0400
- To: "Jonathan Borden" <jonathan@openhealth.org>, "webont" <www-webont-wg@w3.org>
- Message-Id: <p05200f64bb3a2d7434df@[10.0.0.229]>
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 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! -JH 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