nemonik/Intellect

rulesets

Closed this issue · 2 comments

Hi,
Sorry to intrude ....
Trying to figure out how applicable is intellect to this type of functionality:

I am trying to work with simple to complex emulation of transformations on csv typ of data (colmunar)
In most cases read and rule execution is happening on the row at the time.
sometimes requirement will be to lookup forward the whole file and do some sofisticated changes on columns and on temp data.
One thing is the intellect is operating on objects via getters and setters.
I am not sure if rule can be based on input variable
something like this:

call is made to class that has tons of input params
class A(object):
def init(self, in1=None, in2=None, in3=None, inN=None)
....

ruls will be tied up to this specific object, however calls are made to take some action on the passed input variable at one time
so basically, I am not understanding, what I need to do to enable in ruleset confiuration, execution of one of thise rules at any give time.
Everytime i do this all the rules are executed in one shot.
I want to trigger oen rule per passed input param

i defenetelly don't completly understand the whole intellect paradigm, but documentation is a bit wage on examples and there is number of things that need to be in sync to get simple examples working...

is it possible to get an example that signifies execution of the rul per input parameter....

Hmm.

The paradigm is to reason over facts (in memory), and you reason by apply
rules that chain together either in a single policy or on agenda group. So
you have to think about what you want to by gather up object
representations of your facts and then do all your reasoning in the rules.
Keep in mind a rule and some facts in memory resulting in something new
being learned and therefore added to working memory... Or some facts
forgotten. So you use the typeset and the rules engine in hand with python
to accomplish what it is you want to do. The Intellect DSL is to gather
what would otherwise be python code into something more expressive and
human readable.

I am afraid I cannot be much more help than that.

As an aside, and not really directed at you, I really need to find time to
make the improvements the Readme notes... I write this in hopes it
motivates me too cuz the motivation isn't seeming to come otherwise.
On Aug 1, 2015 8:14 AM, "cathmonster" notifications@github.com wrote:

Hi,
Sorry to intrude ....
Trying to figure out how applicable is intellect to this type of
functionality:

I am trying to work with simple to complex emulation of transformations on
csv typ of data (colmunar)
In most cases read and rule execution is happening on the row at the time.
sometimes requirement will be to lookup forward the whole file and do some
sofisticated changes on columns and on temp data.
One thing is the intellect is operating on objects via getters and setters.
I am not sure if rule can be based on input variable
something like this:

call is made to class that has tons of input params
class A(object):
def init(self, in1=None, in2=None, in3=None, inN=None)
....

ruls will be tied up to this specific object, however calls are made to
take some action on the passed input variable at one time
so basically, I am not understanding, what I need to do to enable in
ruleset confiuration, execution of one of thise rules at any give time.
Everytime i do this all the rules are executed in one shot.
I want to trigger oen rule per passed input param

i defenetelly don't completly understand the whole intellect paradigm, but
documentation is a bit wage on examples and there is number of things that
need to be in sync to get simple examples working...

is it possible to get an example that signifies execution of the rul per
input parameter....


Reply to this email directly or view it on GitHub
#13.

i totally agree with you, and consequently I feel for you. it is great thing what you did and it does work. Basically I got some things to work. problem in my opinion in general with DSL, mind you I am more of a novice in this subject area is that I have hard time debugging stuff. Same thing was happening on the java BMP sde, and honestly i really did not like it at all.
It is not clear, how if in any way you can debug policies.
Also, flow is hard to understand even from Python prospective and how python ties up everything with intellect and ANTLR3.
However I have no right to bitch and moan over documentation, I take my hat to you for writing complex peace of software. That is not a small chore.
I will play more and see if it works.
i was interested in intellect from prospective of cleanly enabling writing and execution of rules that do relatively simple math expressions on specific row of data.
i use extensively pandas, and that peace lends itself well with CSV files.
however, share number of rules that I need to go through within transformations got to be externalized and grouped so that some that are general and applicable to all data sets can be in one policy file and rest in specialized configurations. Then hopefully it will be easier to change dynamically and on the fly ruleset and rerun transformations again and again...
Will see, anyway, thanks for the reply ...