[rules-users] RE: fact base storage?

Vikrant Yagnick VikrantY at mastek.com
Thu Oct 9 14:44:51 EDT 2008


Hi Jess,

I am facing the same problem right now. While, I do not know of any OOTB ways to do this, I initially implemented an all rule solution.
In my case, I had a lookup table that based on a age or gender got a rate or some value.

Using some Excel Trickery, I got the 2 dimensional table into  one dimensional columns of the type:
Age Gender   Value
Age and Gender became conditions and Value became the Action.

In your case, you could form a column with a dummy LHS(1=1) and keep all the columns as Action Columns.
In each Action Column you could build up your Fact.

For Example you could do the following:

Fact{ int a; int b;
}
Condition                        Action                Action
F: Fact
                                        f.set($1);            f.set($1)
Eval(true)                        Col A                  Col B
Dummy Value                 <values for a>    <values for b>

If you generate a rule base out of this, it should load your tables straight as facts.

However, do note, that I did some rather Q&D benchmarks for this and soon realized that the rulebase size and memory usage was getting really large. (Especially the PermGen Size).

You may want to have a look at the memory usage, in case you need to load a large number of tables. Due, to the above(and other reasons), I just wrote a custom parser using JXL (The same Excel Library Drools uses for Parsing Excels). It is really neat and would make a simple solution.


In, case you get another solution do post it to the list.

Cheers,
Vikrant







From: rules-users-bounces at lists.jboss.org [mailto:rules-users-bounces at lists.jboss.org] On Behalf Of Evans, Jess
Sent: Thursday, October 09, 2008 11:54 PM
To: rules-users at lists.jboss.org
Subject: [rules-users] fact base storage?

I'm trying to come up to speed on the drools capabilities.  I see that drools supports loading rules from a decision table in a spreadsheet.  I have a set of conversion tables that I'd like to represent as facts asserted when the rule base has been loaded, but before processing user requests.  I could always model lookup tables in a database, but I'd rather not have to build the CRUD interface to manage them.  I'd rather represent them so that each row in a spreadsheet represents a fact (based upon a predefined java bean).  Of course, I could custom implement this functionality.  However, I was wondering if drools supports some OOTB means of loading facts from Excel or other resource?

thanks,

-Jess



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.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20081010/74b0dd45/attachment.html 


More information about the rules-users mailing list