Capturing "Unless explcitly stated"
"Rangarajan Krishnamoorthy" <[email protected]> Wed, 2 Jul 2008 14:03:30 +0530
| Newsgroups | gmane.comp.ai.powerloom |
|---|---|
| Message-ID | <000a01c8dc1e$53ca5e00$0201a8c0@COM> |
Hi,
Consider the following KB in PowerLoom:
(defconcept BodyPart)
(defconcept BodyRegion)
(defrelation part-of ((?part1 BodyPart) (?part2 BodyPart)))
(defrelation region-of ((?part BodyPart) (?region BodyRegion)))
(assert (part-of abdomen trunk))
(assert (region-of abdomen abdominal-region))
(assert (part-of abdominal-wall abdomen))
At this point, I want to state a rule:
"if A is not explicitly known to be in the region-of B, then A is in the region of the part C that contains A"
That is, in the above KB, I want to infer: (region-of abdominal-wall abdominal-region)
However, if we explicitly state the following:
(assert (region-of abdominal-wall something-else))
then, we should not conclude: (region-of abdominal-wall abdominal-region), but only (region-of abdominal-wall something-else)
I defined the following rule:
(assert
(=> (and (region-of ?part ?region) (part-of ?another ?part))
(region-of ?another ?region)))
But this does not work correctly because it allows us to infer both the following:
(region-of abdominal-wall abdominal-region)
(region-of abdominal-wall something-else)
How do we capture the effect of "unless stated explicitly"?
Regards,
Rangarajan
_______________________________________________
powerloom-forum mailing list
[email protected]
http://mailman.isi.edu/mailman/listinfo/powerloom-forum