amplab/graphx

Implement an "extendedSubgraph" function on Graph

amatsukawa opened this issue · 2 comments

Should we implement a variation of the subgraph function, where extendedSubgraph(vPred, ePred) returns a graph containing edges satisfying ePred(e) && (vPred(dst) || vPred(srs)), and vertices either satisfying vPrd(v) or is connected to an edge that satisfies the previous condition.

Can be used to implement a propagate-and-aggregate wit the ability to specify specific vertices that start the computation.

After #100 is merged, I think the propagate-and-aggregate use case can done with

val subgraph = graph.subgraph(vpred = vPred)
graph.mapReduceTriplets(mapF, reduceF, Some((subgraph, EdgeDirection.Both)))

See the documentation for activeSet.

Ah that's excellent, I actually ended up not using this and took advantage
of the active vertex tracking that was already in GraphLab with minor
modifications. Feel free to close this.

On Saturday, December 14, 2013, Ankur Dave wrote:

After #100 #100 is merged, I think
the propagate-and-aggregate use case can done with

val subgraph = graph.subgraph(vpred = vPred)
graph.mapReduceTriplets(mapF, reduceF, Some((subgraph, EdgeDirection.Both)))

See the documentation for activeSethttps://github.com/ankurdave/graphx/blob/mrTriplets-active-set/graph/src/main/scala/org/apache/spark/graph/Graph.scala#L228
.


Reply to this email directly or view it on GitHubhttps://github.com//issues/40#issuecomment-30574660
.