Event Processing Language (EPL)

En este post nos referíamos al lenguaje de consultas para la web Semántica SPARQL.

No estándar y no enfocado a la Web Semántica si no al mundo CEP (Complex Event Processing) EPL es un lenguaje estilo SQL con sintaxis SELECT, FROM ,WHERE, GROUP, HAVING y ORDER.

Actualmente implementan este lenguaje EPL 2 CEPs: Esper y Oracle CEP

En EQL los streams de eventos reemplazan las tablas como fuente de datos y los eventos reemplazan las filas como datos básicos.

Las sentencias EPL permiten agregar,mergear y derivar información (eventos) a partir de otros.

EPL también soporta las Named Windows: ventanas de datos que pueden ser insertadas, borradas y consultadas de forma global.

Algunos ejemplos:

Selecciona los eventos de tipo StockTick cuyo símbolo sea IBM y se hayan producido en los últimos 30 segundos:

select * from StockTick(symbol=’IBM’).win:time(30 sec)
select * from CarLocEvent.std:groupby(carId).win:length(4). std:groupby(expressway, irection, segment).std:size()
select ‘IBM stats’ as title, avg(price) as avgPrice, sum(price) as sumPrice from StockTickEvent.win:length(10) where symbol=’IBM’
select symbol, price, avg(price) from StockTickEvent.win:time(30 sec) having price < avg(price)
select tickDataFeed, stddev(price) from StockTickEvent(symbol=’IBM’).win:length(10)

where volume > 1000 group by tickDataFeed having stddev(price) > 0.8

Más información:

http://esper.codehaus.org/esper-2.0.0/doc/reference/en/html/epl_clauses.html

Respuesta

  1. […] ofrece un lenguaje EPL (Event Processing Language) que permite con un lenguaje estilo SQL tratar los eventos que llegan al […]

Replica a Un poco de Esper « Java Mania Cancelar la respuesta