pyrdf2vec.samplers.wide module

class pyrdf2vec.samplers.wide.WideSampler(inverse=False, split=False)

Bases: pyrdf2vec.samplers.sampler.Sampler

Wide sampling node-centric sampling strategy which gives priority to walks containing edges with the highest degree of predicates and objects. The degree of a predicate and an object being defined by the number of predicates and objects present in its neighborhood, but also by their number of occurrence in a Knowledge Graph.

_is_support_remote

True if the sampling strategy can be used with a remote Knowledge Graph, False Otherwise Defaults to False.

_random_state

The random state to use to keep random determinism with the sampling strategy. Defaults to None.

_vertices_deg

The degree of the vertices. Defaults to {}.

_visited

Tags vertices that appear at the max depth or of which all their children are tagged. Defaults to set.

inverse

True if the inverse algorithm must be used, False otherwise. Defaults to False.

split

True if the split algorithm must be used, False otherwise. Defaults to False.

fit(kg)

Fits the sampling strategy by couting the number of available neighbors for each vertex, but also by counting the number of occurrence that a predicate and an object appears in the Knowledge Graph.

Parameters

kg (KG) – The Knowledge Graph.

Return type

None

get_weight(hop)

Gets the weight of a hop in the Knowledge Graph.

Parameters

hop (Tuple[Any, Any]) – The hop of a vertex in a (predicate, object) form to get the weight.

Return type

float

Returns

The weight of a given hop.

Raises

ValueError – If there is an attempt to access the weight of a hop without the sampling strategy having been trained.