def test_1hop_with_neighbor_missing(self): """ Test case for sample 1 hop neighbor with strategy of edge_weight. Some of src_ids have no neighbor. """ expand_factor = 6 ids = self._seed_node1_ids_with_nbr_missing nbr_s = self.g.neighbor_sampler(self._edge1_type, expand_factor=expand_factor, strategy="edge_weight") nbrs = nbr_s.get(ids) edges = nbrs.layer_edges(1) nodes = nbrs.layer_nodes(1) utils.check_fixed_edge_dst_ids(edges, dst_range=self._node2_range, expected_src_ids=ids, default_dst_id=self._default_dst_id) utils.check_edge_type(edges, src_type=self._node1_type, dst_type=self._node2_type, edge_type=self._edge1_type) utils.check_edge_shape(edges, ids.size * expand_factor) utils.check_not_exist_edge_attrs( edges, default_int_attr=self._default_int_attr, default_float_attr=self._default_float_attr, default_string_attr=self._default_string_attr,) utils.check_not_exist_edge_labels(edges) utils.check_equal(nodes.ids, edges.dst_ids) utils.check_node_ids(nodes, [self._default_dst_id]) utils.check_node_type(nodes, node_type=self._node2_type) utils.check_node_shape(nodes, ids.size * expand_factor) utils.check_not_exist_node_weights(nodes) utils.check_not_exist_node_labels(nodes)
def test_1hop_with_neighbor_missing(self): """ Sample neighbors for nodes which have no out neighbors, and get the default neighbor id. """ expand_factor = 6 ids = self._seed_node1_ids_with_nbr_missing nbr_s = self.g.neighbor_sampler(self._edge1_type, expand_factor=expand_factor, strategy="in_degree") nbrs = nbr_s.get(ids) edges = nbrs.layer_edges(1) nodes = nbrs.layer_nodes(1) utils.check_fixed_edge_dst_ids(edges, dst_range=self._node2_range, expected_src_ids=ids, default_dst_id=self._default_dst_id) utils.check_edge_type(edges, src_type=self._node1_type, dst_type=self._node2_type, edge_type=self._edge1_type) utils.check_edge_shape(edges, ids.size * expand_factor) utils.check_not_exist_edge_attrs( edges, default_int_attr=self._default_int_attr, default_float_attr=self._default_float_attr, default_string_attr=self._default_string_attr,) utils.check_not_exist_edge_labels(edges) utils.check_equal(nodes.ids, edges.dst_ids) utils.check_node_ids(nodes, [self._default_dst_id]) utils.check_node_type(nodes, node_type=self._node2_type) utils.check_node_shape(nodes, ids.size * expand_factor) utils.check_not_exist_node_weights(nodes) utils.check_not_exist_node_labels(nodes)