]
Mark Proctor moved JBRULES-3626 to DROOLS-115:
----------------------------------------------
Project: Drools (was: JBRULES)
Key: DROOLS-115 (was: JBRULES-3626)
Workflow: GIT Pull Request workflow (was: jira)
Fix Version/s: 6.0.0.CR1
(was: 6.0.0.Alpha1)
Add support for strong negation
-------------------------------
Key: DROOLS-115
URL:
https://issues.jboss.org/browse/DROOLS-115
Project: Drools
Issue Type: Feature Request
Security Level: Public(Everyone can see)
Reporter: Davide Sottara
Assignee: Davide Sottara
Priority: Minor
Fix For: 6.0.0.CR1
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: