- From: Graham Klyne <GK@ninebynine.org>
- Date: Thu, 06 Apr 2006 09:58:16 +0100
- To: Matt Williams <matthew.williams@cancer.org.uk>
- CC: Semantic Web <semantic-web@w3.org>
Matt Williams wrote: > I'm trying to describe a technique for deciding if we prefer one rule to > another. All the terms in the rules are literals (i.e. are in the ABox > in an ontology). The rules are of the form: > > Source -> (Body -> Head) > > I'm trying to express the fact that if some element of Source or Head > has a particular value, then we should prefer the rule. E.g. We might > prefer (denoted >>) rules with a source which has a date >2000 rather > than <=2000. This sounds slightly similar to a problem that I was wrestling with some time ago. I still don't have a final outcome clear in my head, but I think it goes something like this: DL's are great for reasoning about *classes* of things, where those classes may involve quite complex descriptions. Specifically, to determine whether a class described one way is or is not necessarily a subclass of a class described in some different way (i.e. determination of subsumption). But, in general, it seems to me that DLs are very poor for reasoning about the specific members (instances, individuals) of classes. There are some "hacks" which allow certain kinds of instance reasoning with DLs (involving defining singleton classes), but the range of possible inferences that can be expressed in this way is limited (compared with, say, simple Horn clause rules), and those inferences that can be expressed tend not be to handled efficiently by DL reasoners (because, I understand, they tend to force the reasoners to consider disjunction at the level of individuals, which leads to exponential increase w.r.t. the number of individuals under consideration, in the work required to perform the reasoning). I also understand that there are some clever techniques that can sometimes be used to cast problems involving individuals into a form that DL reasoners can reasonably answer, but I've not yet come across any description of such techniques. E.g. I hear the KAoS project [1] uses DL reasoning extensively, and employs some nonobvious techniques to get the problems posed to be handled by DL reasoners, but I've not learned what those techniques might be. The above comments are impressions picked up over a few years of diffuse thinking and talking about these issues, and I haven't actually seen a "definitive" characterization of the limitations of DL reasoners. I expect (hope) that the DL experts here may pick me up and correct any misunderstandings that may be inherent in the above characterization. #g -- [1] http://www.ihmc.us/research/projects/KAoS/ Matt Williams wrote: > > Dear List, > > Don't know of this is correct place to ask this, but.... > > I'm trying to describe a technique for deciding if we prefer one rule to > another. All the terms in the rules are literals (i.e. are in the ABox > in an ontology). The rules are of the form: > > Source -> (Body -> Head) > > I'm trying to express the fact that if some element of Source or Head > has a particular value, then we should prefer the rule. E.g. We might > prefer (denoted >>) rules with a source which has a date >2000 rather > than <=2000. > > I'm _really_ quite stuck on trying to do this, and I'm not clear why (I > don't think it's that hard). I _think_ the best way to do it is to > introduce some classes (i.e. T Box terms) that are defined, and then > 'rank' those classes. So to continue our example, the user might say: > > Post2000_Paper \equiv Paper & has_date >2000 > PreEq2000_Paper \equiv Paper & has_date <=2000 > Post2000_Paper >> PreEq2000_Paper > > (I also _think_ that these class definitions would require OWL1.1, but > that's a different issue) > > Could someone make some comments on this? Does it make sense? Any > obvious problems? > > Thanks, > Matt > > > > -- Graham Klyne For email: http://www.ninebynine.org/#Contact
Received on Thursday, 6 April 2006 09:00:24 UTC