- From: Ian Horrocks <horrocks@cs.man.ac.uk>
- Date: Thu, 17 Jul 2003 12:21:58 +0100
- To: Jim Hendler <hendler@cs.umd.edu>
- Cc: "Jonathan Borden" <jonathan@openhealth.org>, "webont" <www-webont-wg@w3.org>
On July 15, Jim Hendler writes: > 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 This doesn't quite work because there is no guarantee that red-hair-gene, brown-hair-gene and blond-hair-gene are distinct individuals without adding a "DifferentIndividuals" axiom. A related (and likely to be much more efficient) workaround that we discussed in the past is to use a datatype property and suitable data values as "keys" to guarantee uniqueness. E.g., for Jim's reptiles, we could add: SubClassOf(Reptile restriction(reptile-name cardinality(1))) and for each reptile something like: SubClassOf(Crocodile restriction(reptile-name value("Crocodile"))) Regards, Ian > > 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 ***<!doctype html public "-//W3C//DTD W3 HTML//EN"> > <html><head><style type="text/css"><!-- > blockquote, dl, ul, ol, li { padding-top: 0 ; padding-bottom: 0 } > --></style><title>Re: Revisiting AllDisjoint (was Proposed (parital) > res</title></head><body> > <div>At 6:07 PM -0400 7/15/03, Jonathan Borden wrote:</div> > <div>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)</div> > <div> </div> > <div>hair-genes := oneOf(red-hair-gene, brown-hair-gene, > blond-hair-gene)</div> > <div>patient has cardinality=1 hair-genes</div> > <div> </div> > <div>as opposed to saying</div> > <div> </div> > <div>AllDisjoint(RedHeads, Brunettes, Blondes)</div> > <div>patient rdf:type RedHeads</div> > <div> </div> > <div>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.</div> > <div> </div> > <div>Jonathan</div> > <div><br></div> > <div><br></div> > <div>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</div> > <div><br></div> > <div>:Alligator owl:disjointWith :Crocodile</div> > <div>:GilaMonster owl:disjointWith :Crocodile</div> > <div>:GilaMonster owl:disjointWith :Alligator</div> > <div>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</div> > <div><br></div> > <div>The following number of reptile classes represented in [2]</div> > <div><br></div> > <div>Amphisbaenia (amphisbaenians) 160</div> > <div>Sauria (lizards) 4675</div> > <div>Serpentes (snakes) 2940</div> > <div>Testudines (turtles) 302</div> > <div>Crocodylia (crocodiles) 23</div> > <div>Rhynchocephalia (tuataras) 2</div> > <div>Reptiles total 8101</div> > <div><br></div> > <div>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!</div> > <div> -JH</div> > <div>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.</div> > <div><br></div> > <div><br></div> > <div>[1] > http://lists.w3.org/Archives/Public/www-webont-wg/2003May/0206.html</div > > > <div><br></div> > <div>[2] http://www.embl-heidelberg.de/~uetz/LivingReptiles.html</div> > <x-sigsep><pre>-- > </pre></x-sigsep> > <div>Professor James Hendler<x-tab> > </x-tab><x-tab> > </x-tab><x-tab> > </x-tab><x-tab> </x-tab> > hendler@cs.umd.edu<br> > Director, Semantic Web and Agent > Technologies<x-tab> </x-tab> > 301-405-2696<br> > Maryland Information and Network Dynamics Lab.<x-tab> > </x-tab> 301-405-6707 (Fax)<br> > Univ of Maryland, College Park, MD 20742<x-tab> > </x-tab> *** 240-277-3388 (Cell)<br> > http://www.cs.umd.edu/users/hendler *** > NOTE CHANGED CELL NUMBER ***</div> > </body> > </html>
Received on Thursday, 17 July 2003 07:23:01 UTC