STAG Python  1.2.1
Spectral Toolkit of Algorithms for Graphs
Loading...
Searching...
No Matches
stag.graphio Namespace Reference

Functions

graph.Graph load_edgelist (str filename)
 Load a graph from an edgelist file.
 
def save_edgelist (graph.Graph g, str filename)
 Save a graph as an edgelist file.
 
graph.Graph load_adjacencylist (str filename)
 Load a graph from an adjacencylist file.
 
def save_adjacencylist (graph.Graph g, str filename)
 Save a graph as an adjacency list file.
 
def edgelist_to_adjacencylist (str edgelist_fname, str adjacencylist_fname)
 Convert an edgelist file to an adjacency list.
 
def adjacencylist_to_edgelist (str adjacencylist_fname, str edgelist_fname)
 Convert an adjacency list file to an edgelist.
 

Function Documentation

◆ load_edgelist()

graph.Graph stag.graphio.load_edgelist ( str  filename)

Load a graph from an edgelist file.

We define an edgelist file in the following way.

  • Any lines beginning with '#' or '//' are ignored
  • Any blank lines are ignored
  • All other lines are of one of the formats

    • <u>, <v>, <weight>
    • <u>, <v>
    • <u> <v> <weight>
    • <u> <v>

    where <u> and <v> can be parsed as integers, and <weight> can be parsed as a double. If the weight is omitted, it is taken to be 1.

Here is an example edgelist file.

# This line is ignored
0, 1, 0.5
1, 2, 1
2, 0, 0.5
Parameters
filenamethe name of the edgelist file to be loaded
Returns
stag.graph.Graph object
Exceptions
runtime_errorif the file doesn't exist or cannot be parsed as an edgelist

◆ save_edgelist()

def stag.graphio.save_edgelist ( graph.Graph  g,
str  filename 
)

Save a graph as an edgelist file.

Parameters
gthe graph object to be saved
filenamethe name of the file to save the edgelist data to

◆ load_adjacencylist()

graph.Graph stag.graphio.load_adjacencylist ( str  filename)

Load a graph from an adjacencylist file.

The adjacency list file format is defined in the following way.

  • Any lines beginning with # or // are ignored
  • Any blank lines are ignored
  • All other lines have the format <node_id>: <list of neighbours>, where <node_id> is an integer and <list of neighbours> is either a space-separated list of integers or a space-separated list of <id>:<weight> where <id> gives the id of the neighbour and <weight> is the weight of the edge.
  • The <node IDs> of each line must be sorted in increasing order.
  • The graph should have no self-loops.

Here is an example adjacencylist file.

# This line is ignored
0: 1 2
1: 0 2 3
2: 0 1
3: 1

The following example includes weighted edges.

# This line is ignored
0: 1:0.5 2:0.5
1: 0:0.5 2:1
2: 0:0.5 1:1

Note that this method loads the entire graph into memory. For large graphs, the stag.graph.AdjacencyListLocalGraph object can be used to access the graph in a 'local' way without reading the entire graph into memory.

Parameters
filenamethe name of the adjacency list file to be loaded
Returns
stag.graph.Graph object
Exceptions
runtime_errorif the file doesn't exist or cannot be parsed as an adjacency list

◆ save_adjacencylist()

def stag.graphio.save_adjacencylist ( graph.Graph  g,
str  filename 
)

Save a graph as an adjacency list file.

Parameters
gthe graph object to be saved.
filenamethe name of the file to save the adjacency list data to.

◆ edgelist_to_adjacencylist()

def stag.graphio.edgelist_to_adjacencylist ( str  edgelist_fname,
str  adjacencylist_fname 
)

Convert an edgelist file to an adjacency list.

Parameters
edgelist_fnamethe name of the file containing the edgelist.
adjacencylist_fnamethe name of the file to write the adjacency list.

◆ adjacencylist_to_edgelist()

def stag.graphio.adjacencylist_to_edgelist ( str  adjacencylist_fname,
str  edgelist_fname 
)

Convert an adjacency list file to an edgelist.

Parameters
adjacencylist_fnamethe name of the file containing the adjacency list.
edgelist_fnamethe name of the file to write the edgelist.