To remove all redundant Link objects and assuming that class Link is declared as
class Link {
Node source;
Node target;
}
(and not as given in the original post), the rule:
rule "kill redundant links"
when
$l1: Link( $s: source, $t: target )
$l2: Link( this != $l1,
source == $s && target == $t
||
source == $t && target == $s )
$n1: Node( out contains $l2 )
$n2: Node( in contains $l2 )
then
retract( $l2 );
modify( $n1 ){ getOut().remove( $l2 ) }
modify( $n2 ){ getIn().remove( $l2 ) }
end
removes all redundant Link facts and updates the out and in fields of
the Nodes at either end of these links.
-W
On 04/06/2014, nill <nillx87(a)hotmail.com> wrote:
I try to explain. I have a graph where each node can have only one
connection
to the other.
If I check the presence of n links between two nodes then delete n-1
connections.
--
View this message in context:
http://drools.46999.n3.nabble.com/Help-write-rule-drools-tp4029841p402986...
Sent from the Drools: User forum mailing list archive at
Nabble.com.
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users