Я хочу иметь возможность вкладывать запросы, выраженные в EPL Esper. Предположим, я хочу обнаружить этот шаблон: A -> (B -> C)
. (A
, B
и C
— типы событий, ->
— оператор последовательности EPL.)
Вот запрос, представляющий B -> C
:
select * from pattern [every (b=B -> c=C)]
Затем я хотел бы сделать следующее:
select * from pattern [every (a=A -> bc=
(select * from pattern [every (b=B -> c=C)])
)]
На самом деле, было бы лучше, если бы было возможно что-то вроде этого:
select * from pattern [every (b=B -> c=C)]) as bc
select * from pattern [every (a=A -> bc)]
Таким образом, первый запрос просто привязывается к идентификатору bc
, который затем можно использовать во втором запросе. Это было бы круто!
Может ли кто-нибудь сказать мне, существует ли подобный синтаксис в EPL? Я ценю любой намек!