Hello,

I have a problem with the querying of facts with multislots. I reduced the
failure to the following lines:

I enter these line in the console:
(deftemplate (A (slot a) (multislot b)))
(deffunction contains (?list1 ?list2) (eq (length$ (intersection$ ?list1
?list2)) (length$ ?list1)))

(defquery search (declare (variables ?in)) (A (b ?out)) (contains ?in ?out))
(defquery search2 (declare (variables ?in)) (A (b ?in)))

(assert (A (a s) (b c d e f)))
(assert (A (a t) (b d e f g)))
(assert (A (a u) (b e f g h)))

When I now use
(bind ?result (run-query* search (list d e)))
(while (?result next) (printout t (?result getString a)))

or
(bind ?result (run-query* search2 (list d e f g)))
(while (?result next) (printout t (?result getString a)))

Then I get each time FALSE and no fact.

Maybe I didn't understand something with the multislot by giving a list as
parameter for the query.

Thanks for help.
Nils Boesch
-- 
View this message in context: 
http://www.nabble.com/Question-about-multislot-und-list-tf3481748.html#a9718420
Sent from the Jess mailing list archive at Nabble.com.

--------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]
--------------------------------------------------------------------

Reply via email to