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

ASF GitHub Bot commented on FLINK-9576:
---------------------------------------

dawidwys commented on a change in pull request #6268: [FLINK-9576] Fixed 
documentation for contiguity within looping pattern.
URL: https://github.com/apache/flink/pull/6268#discussion_r208154095
 
 

 ##########
 File path: docs/dev/libs/cep.md
 ##########
 @@ -919,6 +774,164 @@ next.within(Time.seconds(10))
 </div>
 </div>
 
+#### Contiguity within looping patterns
+
+You can apply the same contiguity condition as discussed in the previous 
[section](#combining-patterns) within a looping pattern.
+The contiguity will be applied between elements accepted into such a pattern.
+To illustrate the above with an example, a pattern sequence `"a b+ c"` (`"a"` 
followed by one or more `"b"`'s followed by a `"c"`) with
+input `"a", "b1", "d1", "b2", "d2", "b3" "c"` will have the following results:
+
+ 1. **Strict Contiguity**: `{a b3}` -- the `"d1"` after `"b1"` causes `"b1"` 
to be discarded, the same happens for `"b2"` because of `"d2"`.
+
+ 2. **Relaxed Contiguity**: `{a b1 c}`, `{a b1 b2 c}`, `{a b1 b2 b3 c}` -- 
`"d"`'s are ignored.
+
+ 3. **Non-Deterministic Relaxed Contiguity**: `{a b1 c}`, `{a b1 b2 c}`, `{a 
b1 b3 c}`, `{a b1 b2 b3 c}` - notice the `{a b1 b3 c}`, which is the result of
 
 Review comment:
   Actually I've updated pattern in this example with different contiguity 
between `a` and `b+` cause otherwise the example for strict contiguity was 
wrong.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Wrong contiguity documentation
> ------------------------------
>
>                 Key: FLINK-9576
>                 URL: https://issues.apache.org/jira/browse/FLINK-9576
>             Project: Flink
>          Issue Type: Bug
>          Components: CEP, Documentation
>            Reporter: Dawid Wysakowicz
>            Assignee: Dawid Wysakowicz
>            Priority: Critical
>              Labels: pull-request-available
>             Fix For: 1.6.0
>
>
> Example for the contiguity is first of all wrong, and second of all 
> misleading:
>  
> {code:java}
> To illustrate the above with an example, a pattern sequence "a+ b" (one or 
> more "a"’s followed by a "b") with input "a1", "c", "a2", "b" will have the 
> following results:
> Strict Contiguity: {a2 b} – the "c" after "a1" causes "a1" to be discarded.
> Relaxed Contiguity: {a1 b} and {a1 a2 b} – "c" is ignored.
> Non-Deterministic Relaxed Contiguity: {a1 b}, {a2 b}, and {a1 a2 b}.
> For looping patterns (e.g. oneOrMore() and times()) the default is relaxed 
> contiguity. If you want strict contiguity, you have to explicitly specify it 
> by using the consecutive() call, and if you want non-deterministic relaxed 
> contiguity you can use the allowCombinations() call.
> {code}
>  
> Results for the relaxed contiguity are wrong plus they do not clearly 
> explains the internal contiguity of kleene closure.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to