# ScipySparseAnchorSearcher¶

class ScipySparseAnchorSearcher(max_iter=5)[source]

Bases: AnchorSearcher

Find closest anchors using scipy.sparse.

Initialize the searcher.

Parameters:

max_iter (int) – the maximum number of hops to consider

Methods Summary

 __call__(edge_index, anchors, k[, num_entities]) Find the $$k$$ closest anchor nodes for each entity. bfs(anchors, adjacency, max_iter, k) Determine the candidate pool using breadth-first search. create_adjacency(edge_index[, num_entities]) Create a sparse adjacency matrix from a given edge index. Iterate over the components of the extra_repr(). select(pool, k) Select $$k$$ anchors from the given pools.

Methods Documentation

__call__(edge_index, anchors, k, num_entities=None)[source]

Find the $$k$$ closest anchor nodes for each entity.

Parameters:
Return type:

ndarray

Returns:

shape: (n, k), -1 <= res < a the Ids of the closest anchors

Determine the candidate pool using breadth-first search.

Parameters:
• anchors (ndarray) – shape: (a,) the anchor node IDs

• adjacency (spmatrix) – shape: (n, n) the adjacency matrix

• max_iter (int) – the maximum number of hops to consider

• k (int) – the minimum number of anchor nodes to reach

Return type:

ndarray

Returns:

shape: (n, a) a boolean array indicating whether anchor $$j$$ is in the set of $$k$$ closest anchors for node $$i$$

Create a sparse adjacency matrix from a given edge index.

Parameters:
Return type:

spmatrix

Returns:

shape: (n, n) a square sparse adjacency matrix

iter_extra_repr()[source]

Iterate over the components of the extra_repr().

This method is typically overridden. A common pattern would be

def iter_extra_repr(self) -> Iterable[str]:
yield from super().iter_extra_repr()
yield "<key1>=<value1>"
yield "<key2>=<value2>"

Return type:
Returns:

an iterable over individual components of the extra_repr()

static select(pool, k)[source]

Select $$k$$ anchors from the given pools.

Parameters:
Return type:

ndarray

Returns:

shape: (n, k) the selected anchors. May contain -1 if there is an insufficient number of candidates