時間演算子に基づいて値を収集/蓄積するルールを作成しようとしています。
rule "Zone6 Overlap"
when
$i1 : Instance ($e1 : event == " Vel : 20.99-23.98 km/h : " && $name1 : name) from entry-point "Stream"
$i2 : Instance ($e2 : event && $name2 : name && $e2 == $e1 && $name2 != $name1
&& this overlaps $i1) from entry-point "Stream"
then
System.out.println("** Overlap Event: Velocity Zone 6 ** \nPlayer1: " + $i1.getName() + "\nPlayer2: "
+ $i2.getName() + "\nEvent: " + $i1.getEvent() + "\n" + "Start Time (P1): "
+ $i1.getStart() + " - End Time: " + $i1.getEnd() + "\nStart Time (P2): "
+ $i2.getStart() + " - End Time: " + $i2.getEnd() + "\n");
end
これは、2 つの期間の重複を取得するための私のオリジナルのルールです。
私が作成したいルールのアイデアは、フットボールの試合で選手の継続時間に集合的な重複があるかどうかを確認することです。フィールド上の最大 9 人のプレーヤーのいずれかが、イベント変数の文字列として指定された範囲の速度で同時に移動しているかどうかを確認したいと考えています。
私は蓄積と収集に関していくつかのことを試しましたが、これらのイベントが発生したときにこれらのイベントを収集し、それらをルールの右側に戻して標準出力に出力できるようにする方法に苦労しています。
助けてください。
ありがとう。