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 <nill...@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-tp4029841p4029869.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > _______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users