リファレンス from

リファレンスの参照を指定する場合に利用します。例えば、あるクラスのフィールドがListをもち、「その」Listの中である条件を満たしていたら、といったルールがあった場合に「その」をfromで実現します。以下の例ではHealthList(健康リスト)というクラスの中にPersonのListを保持することを想定しており、体重が100kg以上の場合、名前を報告する、といったことを示しています。

まずはルールから。

rule "You metabo!!"
  when
    $book : HealthList()
    $patient : Person(weight > 99) from $book.patients
  then
    System.out.println( "you metabo, " + $patient.getName() ); 
end

で実行するJava

KnowledgeBase kbase = readKnowledgeBase();
StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
		
Person p1 = new Person("内山くん", 130);  //名前, 体重
Person p2 = new Person("伊集院くん", 140);
Person p3 = new Person("松村くん", 130);
Person p4 = new Person("岡田くん", 99);
		
HealthList list = new HealthList();
list.add(p1);
list.add(p2);
list.add(p3);
list.add(p4);

ksession.insert(list);

ksession.fireAllRules();

で実行すると

you metabo, 松村くん
you metabo, 伊集院くん
you metabo, 内山くん

と出力されます、Listの中にあるPersonオブジェクトで条件がマッチしたやつ分、thenを実行するようになっています。今更あらためていうことでもないですが、DroolsでもjavaのIF文が消せる、ということで。