Andreas,
I see.. "forall" conditional element is scheduled to be released in
next version.
Meanwhile, can you go with something like this?
rule R1
when
$r : Relation()
$a : Attribute( relation == $r, evaluated == false )
InclusionDependency( r1 == $r, a1 != $a )
then
$a.setNotOK( true );
$a.setEvaluated( true );
modify( $a );
end
rule R2
when
$r : Relation()
exists ( Attribute( relation == $r, evaluated == true, notOk == true ) )
then
..
end
Not sure if it is the best way... just came up with this "thought"...
[]s
Edson
Andreas Langegger wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
ah, sure ;-) thanks Edson,
but it seems that my rule is even not what I want...
actually I would need something like:
$r : Relation()
forall $a : Attribute( relation == $r ) {
not InclusionDependency ( r1 == $r, a1 != $a )
}
I know that cascading is not possible. However, I want to fetch all
Relations $r for which the further constraints hold.
Is this possible with drools?
thanks,
Andy
Edson Tirelli wrote:
Andreas,
"Not" conditional element means "Not exists"... so just do:
not InclusionDependency ( r1 == $r, a1 != $a )
[]s
Edson
Andreas Langegger wrote:
thank you Mark.
But how can I then negate the 3rd condition?
This would mean drools cannot handle a logical forall with field
constraints by negating applying De Morgan.
How can I say, there must not be any InclusionDependency object with r1
== $r and a1 != $a?
like "! exists ( InclusionDependency ( r1 == $r, a1 != $a ) )"
thanks,
Andy
ps: sorry for the second post
Mark Proctor wrote:
You can use bound variables in an 'exists', you can't put an 'exists'
inside of a 'not'. 'exists' and 'not' can only take Fact patterns as
their children.
Andreas Langegger wrote:
Hi,
the docs say: the not yet implemented "Existential quantifiers [...] is
supported with 'not' and 'exists' conditional elements."
Hence, I tried to formulate a rule like that:
when
$r : Relation()
$a : Attribute( relation == $r )
not ( exists ( InclusionDependency ( r1 == $r, a1 != $a ) ) )
then ...
this is equiv to "forall ( InclusionDependency ( r1 == $r, a1 == $a ) )"
However, Drools doesn't allow to use BOUND VAR CONSTRAINTS together with
EXISTS, right? Can anybody help me out?
Thank you very much,
Andy
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email
--
This email has been verified as Virus free
Virus Protection and more available at http://www.plus.net
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email
--
----------------------------------------------------------------------
Dipl.-Ing.(FH) Andreas Langegger
Institute for Applied Knowledge Processing
Johannes Kepler University Linz
A-4040 Linz, Altenberger Straße 69
http://www.faw.at
http://www.langegger.at
- ---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email
- --
- ----------------------------------------------------------------------
Dipl.-Ing.(FH) Andreas Langegger
Institute for Applied Knowledge Processing
Johannes Kepler University Linz
A-4040 Linz, Altenberger Straße 69
http://www.faw.at
http://www.langegger.at
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFFP3gaKk9SuaNc5+IRAnmiAJ9Pr8ERWaFKTZ7ceL2Wzf4GNJtnHwCglcOu
h5wvYLm80qAPd5Fo0Eg1a9A=
=aj7u
-----END PGP SIGNATURE-----
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email