Re: DL Question

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