Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
比较drools 6 when子句中集合的不同项_Drools_Rule Engine_Rule_Eval When - Fatal编程技术网

比较drools 6 when子句中集合的不同项

比较drools 6 when子句中集合的不同项,drools,rule-engine,rule,eval-when,Drools,Rule Engine,Rule,Eval When,我在互联网上搜索过,但找不到解决我们目前面临的drools(6.2.0)问题的方法 假设我有这样一条规则: when $list: ProductList() $product: Product() from $list $product2: Product(this != product) from $list then // do something end 如果$list包含两种产品A和B,则此规则将针对以下组合触发: A-B B-A 由于某些原因,我无法

我在互联网上搜索过,但找不到解决我们目前面临的drools(6.2.0)问题的方法

假设我有这样一条规则:

when
    $list: ProductList()
    $product: Product() from $list
    $product2: Product(this != product) from $list
then
    // do something
end
如果$list包含两种产品A和B,则此规则将针对以下组合触发:

  • A-B
  • B-A
  • 由于某些原因,我无法使规则只触发一次(要么仅A-B,要么仅B-A)

    有人知道是否有一个标准的方法来达到预期的结果吗

    非常感谢

    问候,


    Kim

    您需要具有可比性和唯一性的产品属性。我假设一个产品编号:

    rule comp2prod
    when
      $list: ProductList()
      $product: Product( $pn: productNumber ) from $list
      $product2: Product( productNumber > $pn ) from $list
    then
      // do something
    end