Some responses below...

On 4/13/07, Arjun Dhar <> wrote:
I'm aware that you are working on 'From', to pull external data and use it in
the Rule conditions for comparison with that external data.

Three Questions:
Q1. I could define my own business object that fetches in the data? Cant I?
What additional benifit does 'From' give me?

"from" means you can call some/any logic only when needed - and only once the "from" node is checked - so its as lazy as possible. You could kind of do the same with eval() for very simple cases I guess, but also, with from you can reason over it as if the data was in working memory.

Q2. I use Decision Tables extensively; how do I use 'From' in a decision table?
is it like a Keyword,.. but I cant imagine how it would be used? Could you
please give an example.

No thoughts on how it would integrate there, off the top of my head I can't see how it would be used there. Open to any ideas.

Q3. When executing PL/SQL logic, the data is at the database itself and so is
the logic.

yes, although it would generally be a SQL query.

3.1. If we decide to abstract the logic to rules and fetch data from the
database, in theory wouldnt pure PL/SQL be faster inspite of Rete running the

Possibly -  in  some cases sure. In other cases,  it may be easier to use the rete engine, and then use the database to filter large amount of data that aren't facts.

3.2. Since most mainstream applications use external data, when we talk about
SPEED how significant can the rule engine be? If my conditions depend on
external data, does the speed of the rule engine really count? Unless the rule
engine is sitting inside the database I have my doubts.

I guess you would need to try out in specific cases. Sometimes it may be a tradeoff for speed versus flexability and expressability.

... The above are pratical issues that am sure everyone would ask.


rules-dev mailing list