Я пытаюсь решить проблему нарушения маршрута. Пользователь определяет маршрут как серию последовательностей местоположений (в точном порядке), на которых необходимо увидеть какой-либо элемент. Итак, допустим, что правильный маршрут (это определяется пользователем)
A -> B -> C
Я пытаюсь написать Esper EPL, который будет срабатывать при всех нарушениях маршрута. A — это начальная точка, с которой должен начинаться шаблон (допустимое местоположение).
A -> !B -> !C
Это сработает, когда в ESPER будут найдены все 3 типа событий.
Но я хочу также срабатывать, когда есть только частичная комбинация, например
A -> !B
or
!B -> !C
or
B -> !C
потому что если маршрут пропущен на B, то я, вероятно, никогда не доберусь до C и не буду уведомлен о нарушении маршрута.
Возможно ли это вообще с шаблонами в Esper?