Perfect this is the situation but the only difference is the last part, Rulebase for all the 3 Rules are stored in memory.
Now i have is attributes(implemented as bean class), but the issue is i dont know which Rulebase to use out of the three which is present in the memory, fetching them one by one and executing it individually is possible but a long procedure which i want to avoid.(executing 3 Rule is ok what if i have 100000 rules it will be very slow process) I would like to know is there any mechanism to understand which rulebase will be appropriate without executing the rule completely. a mechanism such as where we can compare the set of variable required by the rule and set of variable that i am passing for execution. this can be one of the mechanism, like that is there any other mechanism available with drools. I hope i am clear enough, please let knw...if i need to be more clear, it will be very helpful...... Thank u all for the response..... Anstis, Michael (M.) wrote: > > Hi Nikhil, > > Let's break down what you have said into pseudo Drools terms:- > > Rule 1 > AdultFare(value==3000) > ChildFare(value==2500) > Then > //Do what you want to do > End > > Rule 2 > ChildFare(value==2000) or > InfantFare(value==1500) > Then > //Do what you want to do > End > > Rule 3 > AdultFare($f1 : value) > InfantFare($f2 : value) > eval($f1 + $f2 < 4000) > Then > //Do what you want to do > End > > You suggest you have a RuleBase that has been successfully loaded. > > You state you have some attributes (I assume these to be implemented as > Classes). > > StatefulSession ss = rulebase.newStatefulSession(); > ss.insert( new AdultFare(1000) ); //<-- Causes object to be compared > to ALL rules. This is how RETE works > ss.insert( new InfantFare(1000) ); //<-- Causes object to be compared > to ALL rules. This is how RETE works > ss.fireAllRules(); //<-- Causes the "then" part of > Rule 3 to execute > > It sounds like you are trying to hard. > > With kind regards, > > Mike > > -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf Of Nikhil_dev > Sent: 13 March 2009 11:19 > To: [email protected] > Subject: RE: [rules-users] Identify Rule on Attributes > > > Thank you Michael, > Following is the use-case/example/Situation that i trying to make it > work > Consider Example :::: > Rule 1: requires attributes/Values :::::::: adultFare == 3000 and > ChildFare > == 2500 > Rule 2: requires attributes/Values :::::::: ChildFare == 2000 or > InfantFare > == 1500 > Rule 3: requires attributes/Values :::::::: AdultFare + InfantFare < > 4000 > > Above said rules is complied and its Rulebase is stored in the > memory...... > > Now i have adultFare and InfantFare Attribute in hand....... so now is > there > any way with the help of drools we can identify which rule to execute > with > out executing all of them one after the another.......as per the example > Rule3 should be executed....and will give right output....... > > I hope u got what i am trying to do..... let me know weather it is > possible........ through RETE algo used inside drools or should i do it > on > my own of identifying the rules....... > > > Anstis, Michael (M.) wrote: >> >> I concur everybody's statements fully. >> >> The purpose of a rules engine is to remove the need for the > application >> developer to code algorithms to determine which of a set of rules > should >> execute given a set of facts\properties\objects. Drools implements the >> RETE algorithm. Writing your own code to determine which rule should > be >> executed would be like writing your own video driver so you can > display >> an image. >> >> Of course "we" all assume you plan on using Drools as a rule engine; a >> black box to drive the execution of consequences based upon rule >> definitions and domain objects. As you state in your last post below; >> your "point is that [you] want to use rule engine in [your] > application >> at it's fullest". Without a clearer description of your use-case it >> might be impossible for anybody to give an answer that helps with your >> particular issue. >> >> These forums are an excellent place to find solutions. Everybody has >> always been extremely helpful to me. >> >> I hope you are not discouraged by the responses received to date and > am >> sure everybody is genuinely trying to help. >> >> With kind regards, >> >> Mike >> >> -----Original Message----- >> From: [email protected] >> [mailto:[email protected]] On Behalf Of Nikhil_dev >> Sent: 13 March 2009 06:44 >> To: [email protected] >> Subject: RE: [rules-users] Identify Rule on Attributes >> >> >> Hi Vikrant, >> >> Please go through all the post and try understand what i am trying to >> get >> from rule engine............ please do not post just for the namesake. >> My point is that i want to use rule engine in my application at its >> fullest, >> if something is possible in Rule engine i would like to experiment on >> it. >> >> Cheers, >> Nikhil. >> >> >> >> >> Vikrant Yagnick wrote: >>> >>> Hi Nikhil, >>> >>> Drools implements the RETE algorithm. The "average" rules user does >> not >>> need to bother or even care about it. All you need to do is use the >> rule >>> engine(for which you do not need to design or write your own >> algorithm) >>> and it will automatically do the work for you. >>> >>> Cheers, >>> Vikrant >>> >>> -----Original Message----- >>> From: [email protected] >>> [mailto:[email protected]] On Behalf Of Nikhil_dev >>> Sent: Friday, March 13, 2009 11:35 AM >>> To: [email protected] >>> Subject: Re: [rules-users] Identify Rule on Attributes >>> >>> >>> >>> from the doc i got what is Rete algo ... but not getting the way to >>> implement it.... using drools >>> >>> >>> Nikhil_dev wrote: >>>> >>>> >>>> if this is the doc >>>> >> > http://downloads.jboss.com/drools/docs/4.0.4.17825.GA/html_single/index. >> html >>>> u are talking about then i coudl'nt find much help. >>>> It will be very helpful if u can give me a kick start on the >> same....... >>>> since i am just an average rule engine user.....some helpful doc on >> the >>>> same >>>> >>>> >>>> >>>> Greg Barton wrote: >>>>> >>>>> >>>>> Yes, if you use a rules engine that implements rete the >> functionality >>>>> you >>>>> need is available. >>>>> >>>>> Read the Drools docs. >>>>> >>>>> Carefully. >>>>> >>>>> GreG >>>>> >>>>> On Mar 12, 2009, at 23:40, Nikhil_dev <[email protected]> >> wrote: >>>>> >>>>> >>>>> thank u Scott and Greg for u'r reply...... >>>>> >>>>> by the way Greg is it possible for me to use this rete algo through >> rule >>>>> engine as this functionality already available in the core of Rule >>>>> Enigne >>>>> or >>>>> should i implement this out side rule engine. >>>>> >>>>> >>>>> Greg Barton wrote: >>>>> >>>>> >>>>> That's the core functionality of a rule engine. The rete algorithm >> does >>>>> this, and drools implements rete. >>>>> >>>>> --- On Thu, 3/12/09, Nikhil_dev <[email protected]> wrote: >>>>> >>>>> so now is there >>>>> any way with the help of drools we can identify which rule >>>>> to execute with >>>>> out executing all of them one after the another >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> rules-users mailing list >>>>> [email protected] >>>>> https://lists.jboss.org/mailman/listinfo/rules-users >>>>> >>>>> >>>>> >>>>> >>>>> ----- >>>>> Regards, >>>>> :working:Nikhil >>>>> -- >>>>> View this message in context: >>>>> >> > http://www.nabble.com/Identify-Rule-on-Attributes-tp22471473p22490126.ht >> ml >>>>> Sent from the drools - user mailing list archive at Nabble.com. >>>>> >>>>> _______________________________________________ >>>>> rules-users mailing list >>>>> [email protected] >>>>> https://lists.jboss.org/mailman/listinfo/rules-users >>>>> >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> rules-users mailing list >>>>> [email protected] >>>>> https://lists.jboss.org/mailman/listinfo/rules-users >>>>> >>>>> >>>> >>>> >>> >>> >>> ----- >>> Regards, >>> :working:Nikhil >>> -- >>> View this message in context: >>> >> > http://www.nabble.com/Identify-Rule-on-Attributes-tp22471473p22490776.ht >> ml >>> Sent from the drools - user mailing list archive at Nabble.com. >>> >>> _______________________________________________ >>> rules-users mailing list >>> [email protected] >>> https://lists.jboss.org/mailman/listinfo/rules-users >>> >>> >>> MASTEK LTD. >>> Mastek is in NASSCOM's 'India Top 20' Software Service Exporters > List. >>> In the US, we're called MAJESCOMASTEK >>> >>> >> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> Opinions expressed in this e-mail are those of the individual and not >> that >>> of Mastek Limited, unless specifically indicated to that effect. >> Mastek >>> Limited does not accept any responsibility or liability for it. This >>> e-mail and attachments (if any) transmitted with it are confidential >>> and/or privileged and solely for the use of the intended person or >> entity >>> to which it is addressed. Any review, re-transmission, dissemination >> or >>> other use of or taking of any action in reliance upon this > information >> by >>> persons or entities other than the intended recipient is prohibited. >> This >>> e-mail and its attachments have been scanned for the presence of >> computer >>> viruses. It is the responsibility of the recipient to run the virus >> check >>> on e-mails and attachments before opening them. If you have received >> this >>> e-mail in error, kindly delete this e-mail from desktop and server. >>> >> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> >>> >>> _______________________________________________ >>> rules-users mailing list >>> [email protected] >>> https://lists.jboss.org/mailman/listinfo/rules-users >>> >>> >> >> >> ----- >> Regards, >> :working:Nikhil >> -- >> View this message in context: >> > http://www.nabble.com/Identify-Rule-on-Attributes-tp22471473p22491091.ht >> ml >> Sent from the drools - user mailing list archive at Nabble.com. >> >> _______________________________________________ >> rules-users mailing list >> [email protected] >> https://lists.jboss.org/mailman/listinfo/rules-users >> >> _______________________________________________ >> rules-users mailing list >> [email protected] >> https://lists.jboss.org/mailman/listinfo/rules-users >> >> > > > ----- > Regards, > :working:Nikhil > -- > View this message in context: > http://www.nabble.com/Identify-Rule-on-Attributes-tp22471473p22494433.ht > ml > Sent from the drools - user mailing list archive at Nabble.com. > > _______________________________________________ > rules-users mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/rules-users > > _______________________________________________ > rules-users mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/rules-users > > ----- Regards, :working:Nikhil -- View this message in context: http://www.nabble.com/Identify-Rule-on-Attributes-tp22471473p22495260.html Sent from the drools - user mailing list archive at Nabble.com. _______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
