Davide Sottara created JBRULES-3626:
---------------------------------------
Summary: Add support for strong negation
Key: JBRULES-3626
URL:
https://issues.jboss.org/browse/JBRULES-3626
Project: Drools
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Reporter: Davide Sottara
Assignee: Davide Sottara
Priority: Minor
Drools "not" operator implements a type of "negation by failure", i.e.
not X() behaves as the negation of "exists" or, in other words, translates as
"it is NOT asserted that ...".
However, another form of stronger negation is needed to express conditionals such as
"it is asserted that NOT ..."
It should be possible, then, to assert facts both in a "positive" and
"negative" way, to assert THAT and THAT NOT.
The language should also support a "neg" CE to create "negative"
patterns which will match with negative facts. I.e. it should be possible to write rules
such as:
when $p : Person() and Car( owner == $p ) then
// a positive, matching Car is present in the WM
when $p : Person() and neg Car( owner == $p ) then
// a negative, matching Car is present in the WM
when $p : Person() and not Car( owner == $p ) then
// neither a positive nor a negative fact exists in the WM
For a more detailed description and motivation see e.g.:
https://oxygen.informatik.tu-cottbus.de/publications/wagner/WebRules2Neg.pdf
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira