NPGraph
- class NPGraph[source]
Bases:
Graph
numpy backed graph class with support for memmapped edge_index
- __init__(*args, ensure_sorted=False, **kwargs)[source]
Initialise graph
- Parameters:
edge_index – edge index such that
edge_index[0]
lists the source andedge_index[1]
the target node for each edgeedge_attr – optionally provide edge weights
num_nodes – specify number of nodes (default:
max(edge_index)+1
)ensure_sorted – if
False
, assume that theedge_index
input is already sortedundir – boolean indicating if graph is directed. If not provided, the
edge_index
is checked to determine this value.
Methods
Initialise graph
adj
list neighbours of node
adj_weighted
list neighbours of node and corresponding edge weight :param node: source node
return nodes in breadth-first-search order
return nodes in breadth-first-search order
return list of edges where each edge is a tuple
(source, target)
return list of edges where each edge is a tuple
(source, target, weight)
from_networkx
from_tg
has_node_labels
lcc
find the neighbourhood of a set of source nodes
List all nodes in the largest connected component
find induced subgraph for a set of nodes
to
to_networkx
convert graph to NetworkX format
Attributes
device
nodes
num_edges
num_features
weighted
boolean indicating if graph is weighted
strength
tensor of node strength
weights
degree
- neighbourhood(nodes, hops: int = 1)[source]
find the neighbourhood of a set of source nodes
note that the neighbourhood includes the source nodes themselves
- Parameters:
nodes – indices of source nodes
hops – number of hops for neighbourhood
- Returns:
neighbourhood
- subgraph(nodes: Tensor, relabel=False, keep_x=True, keep_y=True)[source]
find induced subgraph for a set of nodes
- Parameters:
nodes – node indeces
- Returns:
subgraph
- connected_component_ids()[source]
return nodes in breadth-first-search order
- Parameters:
start – index of starting node (default: 0)
- Returns:
tensor of node indeces