You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Robert Thorman (JIRA)" <ji...@apache.org> on 2016/06/20 18:50:58 UTC

[jira] [Comment Edited] (FLINK-3318) Add support for quantifiers to CEP's pattern API

    [ https://issues.apache.org/jira/browse/FLINK-3318?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15340166#comment-15340166 ] 

Robert Thorman edited comment on FLINK-3318 at 6/20/16 6:50 PM:
----------------------------------------------------------------

So would the idea here be something like the following?

Pattern.begin("start").followedBy("next?").followedBy("third{1,3}").followedBy("end*");

I'm not sure if the capture group () delimiters should be applied to make it more obvious that the Kleene start notation applies to the terms, like this:

Pattern.begin("start").followedBy("(next)?").followedBy("(third){1,3}").followedBy("(end)(*");

I wouldn't mind helping with this.  


was (Author: rt2357):
So would the idea here be something like the following?

Pattern.begin("start").followedBy("next?").followedBy("third{1,3}").followedBy("end*");

I'm not sure if the capture group () delimiteres should be applied to make it more obvious that the Kleene start notation applies to the terms, like this:

Pattern.begin("start").followedBy("(next)?").followedBy("(third){1,3}").followedBy("(end)(*");

I wouldn't mind helping with this.  

> Add support for quantifiers to CEP's pattern API
> ------------------------------------------------
>
>                 Key: FLINK-3318
>                 URL: https://issues.apache.org/jira/browse/FLINK-3318
>             Project: Flink
>          Issue Type: Improvement
>          Components: CEP
>    Affects Versions: 1.0.0
>            Reporter: Till Rohrmann
>            Priority: Minor
>
> It would be a good addition to extend the pattern API to support quantifiers known from regular expressions (e.g. Kleene star, ?, +, or count bounds). This would considerably enrich the set of supported patterns.
> Implementing the count bounds could be done by unrolling the pattern state. In order to support the Kleene star operator, the {{NFACompiler}} has to be extended to insert epsilon-transition between a Kleene start state and the succeeding pattern state. In order to support {{?}}, one could insert two paths from the preceding state, one which accepts the event and another which directly goes into the next pattern state.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)