edu.drexel.cs.dbgroup.portal.representations
Aggregates values from the neighboring edges and vertices of each vertex, for each representative graph.
Aggregates values from the neighboring edges and vertices of each vertex, for each representative graph.
Unlike in GraphX, this returns a new graph, not an RDD. The user-supplied
sendMsg
function is invoked on each edge of the graph, generating 0 or more messages to be
sent to either vertex in the edge. The mergeMsg
function is then used to combine all messages
destined to the same vertex.
the type of message to be sent to each vertex
runs on each edge, sending messages to neighboring vertices using the TEdgeTriplet.
used to combine messages from sendMsg
destined to the same vertex. This
combiner should be commutative and associative.
which fields should be included in the TEdgeTriplet passed to the
sendMsg
function. If not all fields are needed, specifying this can improve performance.
Compute the clustering coefficient of each vertex, which is equal to the number of triangles that pass through it divided by k*(k-1), where k is the vertex degree
Compute the clustering coefficient of each vertex, which is equal to the number of triangles that pass through it divided by k*(k-1), where k is the vertex degree
Graph with vertices where each vertex attribute has added a clustering coefficient between 0.0 and 1.0.
Coalesce the temporal graph.
Utility methods *
Utility methods *
Run connected components algorithm on a temporal graph return a graph with the vertex value containing the lowest vertex id in the connected component containing that vertex.
Run connected components algorithm on a temporal graph return a graph with the vertex value containing the lowest vertex id in the connected component containing that vertex.
New graph with vertex attribute the id of the smallest vertex in each connected component for Intervals in which the vertex appears
Structural zoom.
Structural zoom. Creates nodes from clusters of existing nodes, assigning them new ids. Edge ids remain unchanged and are all preserved.
The function to apply to node attributes when multiple nodes are mapped by a Skolem function to a single group. Any associative function can be supported, since the attribute aggregation is performed in pairs (ala reduce).
The Skolem function that assigns a new node id consistently
New tgraph with only the new nodes and edges connecting them. A multigraph.
Time zoom
Time zoom
The quantification over vertices -- how much of the window must a node appear in to be included.
The quantification over edges -- how much of the window must an edge appear in to be included.
The function to apply to vertex attributes when multiple values exist in a time window. Any associative function can be supported, since the attribute aggregation is performed in pairs.
New tgraph with a modified temporal resolution. Foreign key constraint is enforced.
The degree of each vertex in the graph by interval.
Produce the difference of two temporal graphs.
Produce the difference of two temporal graphs.
The other TGraph
new TemporaGraph with the diffrence of entities from both graphs within each chronon.
An RDD containing the edges and their associated attributes.
Transforms each edge attribute in the graph using the map function.
Transforms each edge attribute in the graph using the map function. The map function is not
passed the vertex value for the vertices adjacent to the edge. If vertex values are desired,
use mapTriplets
.
Special case of general transform, included here for better compatibility with GraphX.
the new edge data type
the function from an edge object with a time index to a new edge value.
Select a subgraph based on the edge attributes.
Get a snapshot for a point in time.
Get the temporal sequence for the representative graphs composing this tgraph.
Produce the intersection of two temporal graphs.
Produce the intersection of two temporal graphs.
The other TGraph
The aggregate function on vertices
The aggregate function on edges
new TemporaGraph with the intersection of entities from both graphs within each chronon.
The call to materialize the data structure.
A friendly name for this TGraph
A friendly name for this TGraph
The number of partitions this graph occupies
Run pagerank on all intervals.
Run pagerank on all intervals. It is up to the implementation to run sequantially, in parallel, incrementally, etc. The number of iterations will depend on both the numIter argument and the rate of convergence, whichever occurs first.
Treat the graph as undirected or directed. true = directed
epsilon, measure of convergence
probability of reset/jump
number of iterations of the algorithm to run. If omitted, will run until convergence of the tol argument.
New graph with pageranks for each interval (coalesced)
Repartition the edges in the graph according to the strategy.
Spark-specific
Analytics
Analytics
the Pregel message type
the message each vertex will receive at the on the first iteration
the maximum number of iterations to run for
the direction of edges incident to a vertex that received a message in
the previous round on which to run sendMsg
. For example, if this is EdgeDirection.Out
, only
out-edges of vertices that received a message in the previous round will run. The default is
EdgeDirection.Either
, which will run sendMsg
on edges where either side received a message
in the previous round. If this is EdgeDirection.Both
, sendMsg
will only run on edges where
*both* vertices received a message.
the user-defined vertex program which runs on each vertex and receives the inbound message and computes a new vertex value. On the first iteration the vertex program is invoked on all vertices and is passed the default message. On subsequent iterations the vertex program is only invoked on those vertices that receive messages.
a user supplied function that is applied to out edges of vertices that received messages in the current iteration
a user supplied function that takes two incoming messages of type A and merges them into a single message of type A. This function must be commutative and associative and ideally the size of A should not increase.
the resulting graph at the end of the computation
Assign a name to this TGraph
Assign a name to this TGraph
Computes shortest paths to the given set of landmark vertices.
Computes shortest paths to the given set of landmark vertices.
Treat the graph as undirected or directed. true = directed
the list of landmark vertex ids to which shortest paths will be computed
Graph with vertices where each vertex attribute is the shortest-path distance to each reachable landmark vertex.
The duration the temporal sequence
Select a temporal subset of the graph.
Compute the number of triangles passing through each vertex.
Compute the number of triangles passing through each vertex.
Graph with vertices where each vertex attribute has added a number of triangles.
Produce a union of two temporal graphs.
Produce a union of two temporal graphs.
The other TGraph
The aggregate function on vertices
The aggregate function on edges
new TGraph with the union of entities from both graphs within each chronon.
Uncaches both vertices and edges of this graph.
An RDD containing the vertices and their associated attributes.
An RDD containing the vertices and their associated attributes.
an RDD containing the vertices in this graph, across all intervals. The vertex attributes are a tuple of (Interval, value), which means that if the same vertex appears in multiple periods, it will appear multiple times in the RDD. The interval is maximal. We are returning RDD rather than VertexRDD because VertexRDD cannot have duplicates for vid.
Transforms each vertex attribute in the graph for each time period using the map function.
Transforms each vertex attribute in the graph for each time period using the map function. Special case of general transform, included here for better compatibility with GraphX.
the new vertex data type
the function from a vertex object to a new vertex value
Select a subgraph based on the vertex attributes.
VE with some methods implemented more efficiently