I wanted to circle back before this thread gets too far off the original topic and folks searching in the future don't get confused.  I am still confused between the 'or' and '||' as explained here and in the documentation.  I will attempt to review this in more detail.  In the meantime, I have simplified my rules per the above comments and am able to run them with about 10M facts in under 3 hours.  The system required more than 40GB of RAM.  I am chunking the data and running multiple threads.  I will look to reduce the overhead where possible as I am certain their are further improvements that can be made.  Once I complete out my refactoring and reviews, I'll circle back again.  Needless to say, things have moved in a very positive direction.  I am not sure what memory expectations I should have so I'll take a complete run in this timeframe without errors as a win.

Thank you, Wolgang and Mark.  You guys have been fantastic!


On Mon, Feb 25, 2013 at 3:13 AM, Mark Proctor <mproctor@codehaus.org> wrote:

On 25 Feb 2013, at 06:46, Wolfgang Laun <wolfgang.laun@gmail.com> wrote:

> On 24/02/2013, Mark Proctor <mproctor@codehaus.org> wrote:
>
>>>    when
>>>      $sv1 : SiteVisit( yearRecorded == durationCycleYear, !annualVisit )
>>>      FaultCode( $sv1.ID==svID, code matches "366.\\d+|743.3\\d?" )
>>>      $inspector: Insepector (ID == $sv1.insepectortID)
>>>
>>>      $sv2 : SitVisit( yearRecorded == durationCycleYear, !annualVisit )
>>>      #make sure we are dealing with the same inspector
>>>      Inspector (ID == $sv2.inspectorID, EUID == $inspector.EUID)
>>>
>>>      ( FaultCode( $sv2.ID == svID, code matches "45.61" ) or
>>>                  ServiceCode($sv2.ID == svID, code matches
>>> "66(8[4-9][0-9]|9([0-3][0-9]|40))|66982|66984|66983" ) )
>>>
>> same here
>>
>> Are you sure you want 'or' and not ||.
>
> Mark, how would you suggest to avoid 'or' and use '||' (and I don't
> mean the deprecated alternative to 'or')? You are beginning to confuse
> (even) me!
Many people do not want CE 'or' they want infix '||' used in compound expressions. I later clarified the difference in the follow up email.

Mark
>
> -W
>
>> The 'or' CE can result in two rules
>> firing, if they are not mutually exclusive logical conditions.
> _______________________________________________
> rules-users mailing list
> rules-users@lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users


_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users