2017-09-08 4 views
0

私は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 
+0

によって

$company : Company() getBalance($world, $company) 

を交換してくださいあなたは、それが「勝ったパターンが続いているとして、 '$ manager.getCars()'から車(名前== BrandOfCar.BMW)が存在している必要はありません。存在が真でない限り発射しない。したがって、それは冗長です。 – laune

答えて

0

:しかし、IDE indecate会社

enter image description here

予期しないとして、私のエラーは何ですか。

$company: Company(companyName == "Intel") from $world.getCompanies() 
+0

ありがとうございます。しかし、私はそれを知っていますが、私はDroolsでテストクエリーをしませんでした。 –

+0

次に、APIを介してクエリが実行されるDroolsのドキュメントの例に従ってください。 – laune

関連する問題