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

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