[rules-users] Identify Rule on Attributes

Nikhil_dev k.nikhil at verchaska.com
Mon Mar 16 01:44:24 EDT 2009


Greg,
As of now the solutions that i have got from everyone in this forum are
1. Greg : use a rules engine that implements rete the functionality.
            I couldn't any for the same on any drool doc that i have (gave
you the link that i am referring to.)
2. Scott & Michael : combine the Rulebase, i had some query about it and
have posted the same.
3. Vikrant : did not suggest any solution.
These are the ones i have received if i missed some please post them again i
haven't received it.

Greg let me know if i have missed the solution.

thank you all looking ahead for reply and solutions........



Greg Barton wrote:
> 
> 
> 
> Nikhil, there seems to be a communication breakdown here.  Several people
> have suggested a solution that I believe fits your problem, but I'm not
> sure that you understand what they're saying.  Generally, if I were
> dealing with a situation like this face to face, I'd have you summarize
> what others have suggested to see if you understood their ideas.  Would
> you be willing to do that?
> 
> --- On Fri, 3/13/09, Nikhil_dev <k.nikhil at verchaska.com> wrote:
> 
>> From: Nikhil_dev <k.nikhil at verchaska.com>
>> Subject: RE: [rules-users] Identify Rule on Attributes
>> To: rules-users at lists.jboss.org
>> Date: Friday, March 13, 2009, 7:16 AM
>> 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: rules-users-bounces at lists.jboss.org
>> > [mailto:rules-users-bounces at lists.jboss.org] On Behalf
>> Of Nikhil_dev
>> > Sent: 13 March 2009 11:19
>> > To: rules-users at lists.jboss.org
>> > 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: rules-users-bounces at lists.jboss.org
>> >> [mailto:rules-users-bounces at lists.jboss.org] On
>> Behalf Of Nikhil_dev
>> >> Sent: 13 March 2009 06:44
>> >> To: rules-users at lists.jboss.org
>> >> 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: rules-users-bounces at lists.jboss.org
>> >>> [mailto:rules-users-bounces at lists.jboss.org]
>> On Behalf Of Nikhil_dev
>> >>> Sent: Friday, March 13, 2009 11:35 AM
>> >>> To: rules-users at lists.jboss.org
>> >>> 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
>> <k.nikhil at verchaska.com>
>> >> 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
>> <k.nikhil at verchaska.com> 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
>> >>>>> rules-users at lists.jboss.org
>> >>>>>
>> 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
>> >>>>> rules-users at lists.jboss.org
>> >>>>>
>> https://lists.jboss.org/mailman/listinfo/rules-users
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>>
>> _______________________________________________
>> >>>>> rules-users mailing list
>> >>>>> rules-users at lists.jboss.org
>> >>>>>
>> 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
>> >>> rules-users at lists.jboss.org
>> >>>
>> 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
>> >>> rules-users at lists.jboss.org
>> >>>
>> 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
>> >> rules-users at lists.jboss.org
>> >>
>> https://lists.jboss.org/mailman/listinfo/rules-users
>> >> 
>> >> _______________________________________________
>> >> rules-users mailing list
>> >> rules-users at lists.jboss.org
>> >>
>> 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
>> > rules-users at lists.jboss.org
>> > https://lists.jboss.org/mailman/listinfo/rules-users
>> > 
>> > _______________________________________________
>> > rules-users mailing list
>> > rules-users at lists.jboss.org
>> > 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
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
> 
> 
>       
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
> 
> 


-----
Regards,
:working:Nikhil
-- 
View this message in context: http://www.nabble.com/Identify-Rule-on-Attributes-tp22471473p22532208.html
Sent from the drools - user mailing list archive at Nabble.com.




More information about the rules-users mailing list