GetSubGraph

Note

This page is a draft and under revision.

GetSubGraph(Graph, NIdV, RenumberNodes=False)

Note

This function is not yet supported.

Returns the subgraph of Graph induced by the nodes in NIdV.

Parameters:

  • Graph: graph (input)

    A Snap.py graph or a network.

  • NIdV: TIntV (input)

    Node ID vector. The subgraph consists of all nodes in NIdV and the edges between nodes in NIdV.

  • RenumberNodes: boolean (input)

    Whether the node IDs are preserved or not.

Return value:

  • A PGraph that is the same type as Graph.

For more information, see: http://en.wikipedia.org/wiki/Glossary_of_graph_theory#Subgraphs

The following example shows how to get subgraphs for TNGraph, TUNGraph, and TNEANet:

import snap

Graph = snap.GenRndGnm(snap.PNGraph, 50, 500)
nodes = snap.TIntV()
for N in Graph.GetNI(0).GetOutEdges():
    nodes.Add(N)
# Get subgraph induced by the neighbors of Node 0.
SubGraph = snap.GetSubGraph(Graph, nodes)

Graph = snap.GenCircle(snap.PUNGraph, 100, 2, False)
nodes = snap.TIntV()
for N in Graph.GetNI(50).GetOutEdges():
    nodes.Add(N)
SubGraph = snap.GetSubGraph(Graph, nodes)

Graph = snap.GenFull(snap.PNEANet, 10)
nodes = snap.TIntV()
for i in [0, 2, 4, 6, 8]:
    nodes.Add(i)
# Get complete subgraph induced by the even-numbered nodes.
SubGraph = snap.GetSubGraph(Graph, nodes)
print SubGraph.GetEdges() # should be 20