def METHOD_NAME(self, s, p, o, mode="head"):
    s_p_str = f'{s}_{p}'
    fake_candidates = self.neg_sample_dict[s_p_str]
    return fake_candidates
    # return random.sample(fake_candidates, min(self.neg_rate, len(fake_candidates)))
    # all_neighbours = self.hop_extractor.extract_neighbour_from_idx(s)
    # all_neighbours = random.randint(0, self.ent_num - 1)
    # if all_neighbours is None:
    #     return None
    # flag = True
    # while flag:
    #     if mode == "head":
    #         # fake_o = random.choice(all_neighbours)
    #         # use random index instead ...
    #         s_p_str = f'{s}_{p}'
    #         return self.neg_sample_dict[s_p_str]
    #         # fake_o = random.randint(0, self.ent_num)
    #         # fake_triple = (s, p, fake_o, 0)
    #         # triple_str = f'{s}_{p}_{fake_o}'
    #         # flag = self.hop_extractor.check_triple_existence(triple_str)
    #         # if not flag:
    #         # return fake_triple