[rules-users] Identify Rule on Attributes

Anstis, Michael (M.) manstis1 at ford.com
Fri Mar 13 07:41:07 EDT 2009


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




More information about the rules-users mailing list