vasia / gelly-streaming

An experimental Graph Streaming API for Apache Flink
Apache License 2.0
140 stars 44 forks source link

[Discuss] Decouple SimpleEdgeStream and GraphWindowStream from neighbor stream keying #27

Open drfloob opened 8 years ago

drfloob commented 8 years ago

Right now, GraphWindowStream claims to operate over vertex neighborhoods, but that's only the case because SimpleGraphStream instantiates GraphWindowStreams with streams keyed by a NeighborKeySelector.

SimpleGraphStream#slice would be more valuable if it did not exclusively key streams in this way. For example, I think the aggregating Connected Components example could benefit from GraphWindowStream#slice if it allowed keying the stream arbitrarily (i.e. by subtask index).

GraphWindowStreams do not necessarily operate on neighborhoods, only coincidentally. One option is to rename this class and alter it to control the stream keying itself, to enforce its neighbor operation claims.