Open s-minoo opened 1 year ago
@s-minoo is this a specific request for join conditions? If this is the case, please confirm me so I can move it to the proper repository
It is indeed a specific request for joins. So, I think it's more relevant to rml-join repo.
Transfer to its corresponding repository then
The rml-jc repo will be closed. Moving this unsolved issue back to rml-core.
I would suggest to leave this issue for the working-group
Issue
Currently, there is no way to define windowing semantics in RML. Windowing is crucial when evaluating joins between different live streaming data sources.
Furthermore, windowing could also support buffering capabilities for aggregation functions when processing streaming data sources. For example, calculating an average of the values over the last 5 minutes.
Requirements
According to Gedik B., windows' behaviour is defined based on its type, and policies.
There are 2 main types of windows: tumbling, and sliding windows. An illustration about how these windows work can be found here. Note: Session window is a special case of tumbling window where the window only gets dropped when inactivity threshold is violated.
The policies control when the windows evicts the tuples inside the window (eviction policy), and when they triggers the processing of the tuples using the operator logic defined inside the window (trigger policy).
Policies are further divided into 4 categories namely: 1) Count-based
Thus, we need a set of vocabulary to define and configure windows by describing:
1) Window Type 2) Eviction policy 3) Trigger policy
The true semantics and combination of the policies are further explained by Gedik B..
Example
Given the following RML with a join condition:
Windows could be defined in the object map