| Newsgroups |
gmane.comp.ai.powerloom |
| Message-ID |
<[email protected]> |
I have the following items in a PowerLoom knowledge base:
(defconcept nation (?n region human-social-grouping))
(assert (disjoint nation city))
(defconcept city (?c region))
(deffunction capital ((?n nation)) :-> (?c city))
(assert (total capital))
and I have
(assert (city bogota))
(definstance colombia
:axioms ((nation colombia)
(contained-in colombia south-america)
(= (capital colombia) bogota)))
when I was doing a query, I got the following odd results:
STELLA(7): (retrieve all ?x (and (region ?x) (contained-in ?x colombia)))
There are 5 solutions:
#1: ?X=REGION-R
#2: ?X=BOGOTA
#3: ?X=COLOMBIA
#4: ?X=|SK|(CAPITAL REGION-R)
#5: ?X=|SK|(CAPITAL BOGOTA)
So I did a little further investigation:
STELLA(8): (ask (nation bogota))
UNKNOWN
OK, this doesn't surprise me, because I understand from earlier emails
that disjointness doesn't work properly.
But I'm still surprised that the skolemization proceeded anyway, on a
kind of credulous inference. Then I saw the following:
STELLA(9): (ask (city (capital bogota)))
Processing check-types agenda...
WARNING: Type check violation on argument `@BOGOTA' in proposition
(= (CAPITAL BOGOTA) ?v04).
Argument must have type `NATION'.
Warning occurred while parsing the proposition:
(KAPPA () (CITY (CAPITAL @BOGOTA)))
TRUE
and the following anomalous result:
STELLA(10): (ask (and (nation bogota)(city (capital bogota))))
Processing check-types agenda...
WARNING: Type check violation on argument `@BOGOTA' in proposition
(= (CAPITAL BOGOTA) ?v04).
Argument must have type `NATION'.
Warning occurred while parsing the proposition:
(KAPPA () (AND (NATION @BOGOTA) (CITY (CAPITAL @BOGOTA))))
TRUE
Why does PowerLoom regard (nation bogota) as unknown in isolation, but
true in a conjunction?
Thanks,
R
--
Robert P. Goldman
Senior Scientist
Smart Information Flow Technologies (d/b/a SIFT, LLC)
211 N. First St., Suite 300
Minneapolis, MN 55401
Voice: (612) 384-3454
Email: [email protected]