[jboss-jira] [JBoss JIRA] Created: (JBRULES-1559) Ability to negate a constraint group

Dirk Bergstrom (JIRA) jira-events at lists.jboss.org
Sat Apr 12 22:44:56 EDT 2008


Ability to negate a constraint group
------------------------------------

                 Key: JBRULES-1559
                 URL: http://jira.jboss.com/jira/browse/JBRULES-1559
             Project: JBoss Drools
          Issue Type: Feature Request
      Security Level: Public (Everyone can see)
          Components: Drl Parser/Builder
    Affects Versions: FUTURE
            Reporter: Dirk Bergstrom
         Assigned To: Mark Proctor
            Priority: Minor


I want to write a rule that says "Find all long-eared dogs that do not have
short, black hair".  This seems like the simple way to do it:

collect( Dog( ears=="long",
                        not (hair=="short" && color=="black") )

But that doesn't parse.  Some digging through the archives unearthed a mention
of De Morgan's laws, which leads to: http://en.wikipedia.org/wiki/De_Morgan's_laws
Which explains that I can instead write:

collect( Dog( ears=="long", (hair!="short" || color!="black") )

Which, after some mental effort, turns out to be the right thing.

However, had I not found the reference to De Morgan's Law, it would have taken
me a long time to get there (if indeed I ever would have).  The end result is
also quite difficult to parse if you're not a logician, and thus not very
user-friendly.


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list