Если экземпляры A находятся в рабочей памяти, как вы говорите (идеальный сценарий), просто напишите правило, используя его:
rule X
when
A( name == "bob", value == 10 )
...
Вставка коллекций (списков, деревьев и т. Д.) Непосредственно в рабочую памятьне рекомендуется, потому что они являются абстрактными структурами данных без какой-либо внутренней семантической привязки.Но допустим, у вас есть класс Person, который содержит список адресов, и вы хотите выполнить правило для каждого адреса в Монреале, Канада, не вставляя сами адреса в качестве facs.Вы можете написать:
rule X
when
Person( $addresses : addresses )
Address( city == "Montreal", country == "CA" ) from $addresses
...
Наконец, если вы действительно хотите использовать сам список как факт (опять же, плохая практика), вы можете сделать следующее, но учтите, что он будет соответствовать всем спискам врабочая память:
rule X
when
$list : List()
A( name == "bob", value == 10 ) from $list
...