[rules-dev] Decision table - Otherwise

Michael Neale michael.neale at gmail.com
Thu Mar 31 17:20:56 EDT 2011


Otherwise has been dragging on since 2006. There are many skeletons in that
cave.

I will believe it when I see it !

On Fri, Apr 1, 2011 at 7:25 AM, Michael Anstis <michael.anstis at gmail.com>wrote:

> I bet Edson can't wait to refactor the parser for that ;)
>
>
> On 31 March 2011 21:11, Mark Proctor <mproctor at codehaus.org> wrote:
>
>>  on a related note I do plan to add OTHERWISE support at a DRL level, just
>> no time to do it right now. Once it's supported at a DRL level, you won't
>> need to as much work on figuring out the inverse options etc.
>>
>> Mark
>>
>> On 31/03/2011 20:25, Michael Anstis wrote:
>>
>> Hi,
>>
>> I'm adding support for "otherwise" to (for the time being) the guided
>> decision table in Guvnor.
>>
>> The idea being if you set a cell to represent "otherwise" the generated
>> rule is the opposite of the accumulation of the other cells; perhaps best
>> explained with an example:-
>>
>> Person( name == )
>> Mark
>> Kris
>> Geoffrey
>> <otherwise>
>>
>> This would generate:-
>>
>> Person(name not in ("Mark", "Kris", "Geoffrey")
>>
>> Equals is the simple example, this is my thoughts for the other operators
>> we might like to support:-
>>
>>    - != becomes "in (<list of the other cells' values)"
>>    - < becomes ">= the maximum value of the other cells' values
>>
>>
>> For example:-
>>
>> Person ( age < )
>> 10
>> 20
>> 30
>> <otherwise>
>>
>> Person ( age >= 30 )
>>
>>
>>    - <= becomes "> the maximum value of the other cells' values
>>    - > becomes "<= the minimum value of the other cells' values
>>    - >= becomes "< the minimum value of the other cells' values
>>    - "in" becomes "not in (<a list of all values contained in all the
>>    other cells' lists of values>)"
>>
>> For example:-
>>
>>  Person ( name in )
>> Jim, Jack
>> Lisa, Jane, Paul
>> <otherwise>
>>
>> Person ( name not in ("Jim", "Jack", "Lisa", "Jane", "Paul" ) )
>>
>>
>>    - I'm not sure there is a simple solution for "matches" and
>>    "soundslike" but welcome advice, although a possibility might be to create a
>>    compound field constraint:-
>>
>>  Person ( name soundslike )
>> Fred
>> Phil
>>
>> not Person ( name soundslike "Fred" || soundslike "Phil" )
>>
>>
>> Would this be considered the most suitable approach?
>>
>> Inputs and thoughts welcome.
>>
>> Thanks,
>>
>> Mike
>>
>>
>> _______________________________________________
>> rules-dev mailing listrules-dev at lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-dev
>>
>>
>>
>> _______________________________________________
>> rules-dev mailing list
>> rules-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-dev
>>
>>
>
> _______________________________________________
> rules-dev mailing list
> rules-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-dev
>
>


-- 
Michael D Neale
home: www.michaelneale.net
blog: michaelneale.blogspot.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-dev/attachments/20110401/3542ad23/attachment.html 


More information about the rules-dev mailing list