Deal of the Day

Home » Main » Manning Forums » 2003 » Jess in Action

Thread: A quest ion about content on rule defined in 194

Reply to this Thread Reply to this Thread Search Forum Search Forum Back to Thread List Back to Thread List

Permlink Replies: 1 - Pages: 1 - Last Post: Nov 18, 2004 3:55 PM by: ejfried
rvprasad

Posts: 6
Registered: 10/30/04
A quest ion about content on rule defined in 194
Posted: Nov 18, 2004 9:43 AM
  Click to reply to this thread Reply

Shouldn't (not (MAIN::ask ?)) be (not (MAIN::ask ?id)) in the following snippet?

(defrule trigger::supply-answers
(declare (auto-focus TRUE))
(MAIN::need-answer (ident ?id))
(not (MAIN::answer (ident ?id)))
(not (MAIN::ask ?))
=>
(assert (MAIN::ask ?id))
(return))

ejfried


Posts: 326
Registered: 12/19/03
Re: A quest ion about content on rule defined in 194
Posted: Nov 18, 2004 3:55 PM   in response to: rvprasad in response to: rvprasad
  Click to reply to this thread Reply

Because a blank variable is used -- or more generally, because ?id is not used -- any MAIN::ask fact will block the rule from firing, so that only one can be asserted at a time. If ?id was used, then multiple MAIN::ask facts could be asserted simultaneously. Although that might still work, it isn't what I had in mind when the ask module and the backward chaining support machinery was designed. You could certainly give it a try and see what happens. I can't think of an advantage to having multiple MAIN::ask facts at the same time, and I can think of a few minor disdvantages -- primarily increased memory usage.

Legend
Gold: 300 + pts
Silver: 100 - 299 pts
Bronze: 25 - 99 pts
Manning Author
Manning Staff
Manning Developmental Editor