我正在尝试解决路线违规问题。用户将路线定义为需要查看某些项目的一系列位置序列(按确切顺序)。所以可以说正确的路线是(这是由用户定义的)
A -> B -> C
我正在尝试编写 Esper EPL,它将在所有违反路线的情况下触发。A 是一个起点,它需要开始一个模式(一个有效的位置)。
A -> !B -> !C
当在 ESPER 中找到所有 3 种类型的事件时,这将触发。
但是我想要的也是当只有部分组合时开火
A -> !B
或者
!B -> !C
或者
B -> !C
因为如果在 B 上错过了路线,那么我可能永远不会来 C,也不会收到路线违规的通知。
这甚至可以用 Esper 中的模式实现吗?