src.utils.construct_graph¶
Construct a graph from a DataFrame and find storylines in it.
Functions
|
Build a graph from an adjacency list. |
|
Return the edge boundary of two sets of nodes ina rustworkx graph. |
|
Filter interstory connections from the graph. |
|
Normalize the weights of the edges in the graph. |
|
Perform transitive reduction on the graph within storylines. |
- src.utils.construct_graph.build_graph_from_adj_list(adj_list, adj_weights)[source]¶
Build a graph from an adjacency list.
- Parameters:
adj_list (
Sequence
[Sequence
[int
]]) – The adjacency list.adj_weights (
Sequence
[Sequence
[float
]]) – The weights of the edges.
- Return type:
PyDiGraph
- Returns:
The graph as a directed graph.
- src.utils.construct_graph.transitive_reduction(graph, storylines)[source]¶
Perform transitive reduction on the graph within storylines.
- Parameters:
graph (
PyDiGraph
) – The graph to perform transitive reduction on.storylines (
list
[list
[int
]]) – The story lines.
- Return type:
PyDiGraph
- Returns:
The graph after transitive reduction.
- src.utils.construct_graph.edge_boundary(graph, nbunch1, nbunch2=None)[source]¶
Return the edge boundary of two sets of nodes ina rustworkx graph. Should be functionally equivalent to networkx.edge_boundary.
- Parameters:
graph (
PyDiGraph
) – The graph to get the edge boundary from.nbunch1 (
Iterable
[int
]) – The first set of nodes.nbunch2 (
Iterable
[int
] |None
) – The second set of nodes.
- Return type:
list
[tuple
[int
,int
]]- Returns:
The edge boundary of the two sets of nodes.
- src.utils.construct_graph.filter_interstory_connections(graph, storylines)[source]¶
Filter interstory connections from the graph.
This function filters out interstory connections from the graph.
- Parameters:
graph (
PyDiGraph
) – The graph to filter interstory connections from.storylines (
list
[list
[int
]]) – The story lines.
- Return type:
PyDiGraph
- Returns:
The graph after filtering interstory connections.