私はquery companyオブジェクトから返されません。あなたはこの単純なタスクのためのクエリを使用してはならない(できない)予期しないものとして変数を払い戻します。
dialect "java"
query getBalance(World world, Company company)
$company := Company(companyName == "Intel") from world.getCompanies()
end
rule "BMWCarsToPerson"
when
$world : World()
$company : Company()
getBalance($world, $company)
/*$company : Company() from $world.getCompanies()*/
$manager : Manager() from $company.getManagers()
exists Car(name == BrandOfCar.BMW) from $manager.getCars()
$bmwCarsFromManager : Car(
name == BrandOfCar.BMW
) from $manager.getCars()
$person : Person(
name == "Elvis"
) from $world.getPersons()
/*$listMageners : List() from $manager*/
then
end
によって
を交換してくださいあなたは、それが「勝ったパターンが続いているとして、 '$ manager.getCars()'から車(名前== BrandOfCar.BMW)が存在している必要はありません。存在が真でない限り発射しない。したがって、それは冗長です。 – laune