| Newsgroups |
gmane.comp.ai.powerloom |
| Message-ID |
<[email protected]> |
There seems to be something odd about the way retrieve-partial works
(maybe I'm missing something). Here's a conjunctive query:
STELLA(241): (retrieve-partial best ?name (exists ?x (and (studied-by ?x tribe-b)
(= (public-name ?x) ?name))))
There are 3 solutions:
#1: ?NAME="Dr. Tom Wagner" 1.0
#2: ?NAME="Dr. Best Expert, Ph.D." 0.75
#3: ?NAME="Mr. Bill" 0.75
Now, I believe that "Dr. Best Expert" should have a score of 1.0,
since if you retrieve each of its conjuncts separately, you get a
score of 1.0:
STELLA(244): (retrieve-partial best ?x (studied-by ?x tribe-b))
There are 3 solutions:
#1: ?X=DR-TOM 1.0
#2: ?X=BEST-EXPERT 1.0
#3: ?X=BILL 0.5
STELLA(245): (retrieve-partial best ?x (= (public-name best-expert) ?x))
There is 1 solution:
#1: ?X="Dr. Best Expert, Ph.D." 1.0
My best guess is that something odd happens with the existential
quantifier and conjunction, but I'm not sure what that would be. The
existential alone doesn't seem to be the problem:
STELLA(246): (retrieve-partial best ?x (exists ?e (= (public-name ?e) ?x)))
There are 3 solutions:
#1: ?X="Dr. Best Expert, Ph.D." 1.0
#2: ?X="Mr. Bill" 1.0
#3: ?X="Dr. Tom Wagner" 1.0
And the problem is invariant over reordering the conjuncts:
STELLA(247): (retrieve-partial best ?x (exists ?e (and (= (public-name ?e) ?x) (studied-by ?e tribe-b))))
There are 3 solutions:
#1: ?X="Dr. Tom Wagner" 1.0
#2: ?X="Dr. Best Expert, Ph.D." 0.75
#3: ?X="Mr. Bill" 0.75
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]