Comments (10)
  • Add a Comment
  • Edit
  • More Actions v
  • Quarantine this Entry

1 AlexCOZETTE commented Permalink

Very interesting. <div>&nbsp;</div> I do that all the time. I hate to read rules that start with: <br /> "set 'customer' to a customer in the customers of the contract". <br /> (using a n-ary relationship) <br /> or <br /> "set 'customer' to a customer in customers <br /> (customers as an input parameter array) <div>&nbsp;</div> Personnaly I will change the BOM so that the data cannot be accessed by both the WM or the parameters.

2 PhaniCharan commented Permalink

This one clarifies the doubts i had. ThanQ Daniel

3 SrikISL commented Permalink

what happens if i have more than 1 rule (seperate ruletask) to be fired for each entry in the array ? Does the 1st entry fires all the rules &amp; then the 2nd entry ? Please clarify. thanks

4 Daniel Selman commented Permalink

If you have more than one rule in the same rule task that can fire against given some data in working memory (or parameters) in general you should not rely on the order that the rules will be fired. This problem is called 'conflict resolution' in the literature. It is a complex topic that goes beyond the scope of a comment.

5 arahant commented Permalink

I believe another minor drawback of this approach is that you are tied to the Rete algorithm which, depending on your rule characteristics, may not be the best algorithm to use.

6 GopiMuthuperi commented Permalink

Scenario <div>&nbsp;</div> If my input parameter (request) has collection of questions and each question has a collection of answers and rules has to written based on the answers to each question in the request. <div>&nbsp;</div> Should we insert the both questions and answers in to the working memory. <div>&nbsp;</div> could you please guide me , how to implement in this scenario? Thanks!

7 86KH_Ruben_Gutierrez commented Permalink

Will the data in memory persist beyond the rule task? What if I need to load only some of the data in the array? then in another rule task another subset of the array. If both are still in data my rules could fire against those that don't need to.

8 JustinPhillips commented Permalink

Hi, what would you recommend if we have a list of objects that are in chronological order that need to be analysed. <div>&nbsp;</div> For example, what if I wanted to check the first item in the list against the last item to determine if the customer has submitted data to purchase a policy that does not match the data for their first quote? <div>&nbsp;</div> To me that sounds like a case for iterating over the rule set params rather than using WM and refraction? How would rules that are fired off from changes to WM know which was the first and the last object inserted? <div>&nbsp;</div> Great articles though!

9 dvamshee commented Permalink

This model works grt with Simple XOM ...if you have complex XOM where you have 15 to 20 inner objects ..this is not suitable. I will prefer to use the "definition" in those cases.

10 dvamshee commented Permalink

Nice Article .. "Daniel Selman" thanks for sharing