Grouping

The grouping operator determines a structural grouping of vertices and edges to condense a graph and thus help to uncover insights about patterns and statistics hidden in the graph.

The graph grouping operator represents every vertex group by a single super vertex in the resulting graph; (super) edges between vertices in the resulting graph represent a group of edges between the vertex group members of the original graph. Grouping is defined by specifying grouping keys for vertices and edges, respectively, similarly as for GROUP BY in SQL.

In addition to vertex properties, grouping is also possible on edge properties, vertex- and edge labels as well as combinations of those.

Consider the following example:

Input graph:

Vertices:
(0, "Person", {city: L})
(1, "Person", {city: L})
(2, "Person", {city: D})
(3, "Person", {city: D})

Edges:{(0,1), (1,0), (1,2), (2,1), (2,3), (3,2)}

Output graph (grouped on vertex property "city"):

Vertices:
(0, "Person", {city: L, count: 2}) (2, "Person", {city: D, count: 2})

Edges:
((0, 0), {count: 2}) // 2 intra-edges in L
((2, 2), {count: 2}) // 2 intra-edges in L
((0, 2), {count: 1}) // 1 inter-edge from L to D
((2, 0), {count: 1}) // 1 inter-edge from D to L

Options

Option
Definition for the option

Input Ports

Icon
One single logical graph for the grouping.

Output Ports

Icon
A logical graph with grouped vertices/edges

Popular Predecessors

Popular Successors

Views

This node has no views

Workflows

  • No workflows found

Links

Developers

You want to see the source code for this node? Click the following button and we’ll use our super-powers to find it for you.