[rules-users] Check if fact is subset of items in the rule

Michael Anstis michael.anstis at gmail.com
Wed Oct 13 09:51:18 EDT 2010


Not as clear as I'd hoped; can you provide an actual rule DRL?

2010/10/13 Kumar Pandey <kumar.pandey at gmail.com>

> Michael
>   Here are some examples
>
> Rule1  has "str1", "Str2", "Str3"
>
> Rule2 has "str2", "Str3", "Str5", "Str6", "Str7"
>
> Rule3 has "str1", "Str3", "Str6"
>
> etc.
>
> With fact1 that has  "str1", "Str3" , since this is subset of values in
> Rule1 and Rule3, they should not fire but Rule2 should fire
>
> With fact2 that has "str2", "Str6", "Str7", Rule 2 should not fire and
> Rule1 and Rule3 should fire.
>
> Hope this is clear.
>
> Thanks
> Kumar
>
> 2010/10/13 Michael Anstis <michael.anstis at gmail.com>
>
>> Thanks, please provide a specific example rule too.
>>
>> Don't forget to keep your posts to the mailing list for the good of the
>> community.
>>
>>
>> On 12 October 2010 22:18, Kumar Pandey <kumar.pandey at gmail.com> wrote:
>>
>>> Michale
>>>   Thanks for the response.
>>> Here's the link for the thread .
>>>
>>>
>>> http://drools-java-rules-engine.46999.n3.nabble.com/Check-if-fact-is-subset-of-items-in-the-rule-td1680013.html#a1680013
>>>
>>> and the original about matching strings in two arrays.
>>>
>>> http://drools-java-rules-engine.46999.n3.nabble.com/Matching-strings-in-two-arrays-td1602511.html#a1602511
>>>
>>>
>>> My use case is that I could have hundreds of rule and each rule could
>>> have its own set of strings.
>>> A fact object is run through these rules to see which ones are fired.
>>> One of the condition to check is that the a list in the fact is not a
>>> subset of list in the rule.
>>> That is fire the rule only if list in fact is not a subset of list in
>>> rule.
>>>
>>> Thanks
>>> Kumar
>>>
>>>
>>> On Tue, Oct 12, 2010 at 12:38 PM, Michael Anstis <
>>> michael.anstis at gmail.com> wrote:
>>>
>>>> OK, I admit I don't have the original thread anymore.
>>>>
>>>> If I am not wrong (which is always a possibility) for Wolfgang's
>>>> operator to work you'd need to externalise the superset from the rule into
>>>> WorkingMemory. You could have a rule with higher salience construct the
>>>> superset WM fact.
>>>>
>>>> If you don't mind re-posting or providing a link to the complete thread
>>>> (on Nabble or somewhere) I'll happily try to help further.
>>>>
>>>> On 12 October 2010 17:23, <kumar.pandey at gmail.com> wrote:
>>>>
>>>>> <quote author='Michael Anstis-2'>
>>>>>
>>>>> Wolfgang gave a great solution.
>>>>> </quote>
>>>>> Don't know if I'm missing something obvious here.  I have a superset in
>>>>> the rule itself. Each rule has a superset list. In this case how would I use
>>>>> Wolfgang's solution. Its comparing through two arrays in runtime. I have not
>>>>> been able to construct an array construct with specific values in the rule
>>>>> itself.
>>>>>
>>>>
>>>>
>>>
>>>
>>
>> _______________________________________________
>> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20101013/52e8aba4/attachment.html 


More information about the rules-users mailing list