[rules-users] Help write rule drools

Wolfgang Laun wolfgang.laun at gmail.com
Wed Jun 4 13:37:29 EDT 2014


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 at 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 at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>


More information about the rules-users mailing list