[rules-users] Accepted idiom for binding variable to restriction?

Laird Nelson ljnelson at gmail.com
Tue Jun 1 17:54:27 EDT 2010


I have a fact that is inserted into my rule base.  It is a Response.

A Response has a Question that it is a response to.  At the moment,
the Question itself is not separately inserted into the knowledge
base.  I would ideally like to keep it this way.

What's the best approach for binding variables to both the Response
and its associated Question?

That is, if the Question were inserted, it would be relatively easy:

when
  $question : Question( )
  $response : Response( question == $question )

...but I'm finding myself somewhat confused how to "extract" a
Question out of a Response, particularly when, say, I want to "select"
only Responses whose associated Question IDs are "XYZ":

when
  $response : Response( $question : question.ID == "XYZ" ) // boy
howdy does this seem wrong

Is the easiest thing to do here to add a second rule that just inserts
the questions:

when
  $response : Response
then
  insert($response.getQuestion())
end

...?  I would love to stay away from this if I could.

Thanks,
Laird



More information about the rules-users mailing list