final_mrr = 0.0 final_time = 0 all_metric_file = "./OneCons_eval/embed_all_metric_normal.txt" print("Start") for r_name in r_name_list: print("Cal {}".format(r_name)) res_folder = "./OneCons_eval/{}/".format(r_name.split(":")[-1]) util.createFolder(res_folder) metric_file = "{}embed_metric.txt".format(res_folder) ht_file = res_folder + "ht.txt" h_id_list, t_id_list = load_ht_from_file(ht_file, graph) r_id = graph.r_id_by_name(r_name) r_id_list = [r_id] * len(h_id_list) map_r, mrr_r, hits10_r, mean_rank_r, avg_time = graph.ekg.get_map_mrr_hits10_meanRank_avg_time_embed_1cons( h_id_list, r_id_list, t_id_list) final_map += map_r final_hits10 += hits10_r final_mrr += mrr_r final_time += avg_time print("map:{}\tmrr:{}\thits10:{}\tavg time:{}".format( map_r, mrr_r, hits10_r, avg_time)) with open(metric_file, 'w', encoding="UTF-8") as f: f.write("hits10\t{}\n".format(hits10_r))
graph.e2idx_file = search_folder + "entity2id.txt" graph.r2idx_file = search_folder + "relation2id.txt" graph.triple2idx_file = search_folder + "triple2id.txt" graph.load_data() r_name_list = [] r_idx_list = [] for sparql in eaqs: sp = SparqlParser(sparql=sparql) sp.parse_sparql() for relation in sp.r_name_list: r_name_list.append(relation) r_name_list = list(set(r_name_list)) r_idx_list = [graph.r_id_by_name(r_name) for r_name in r_name_list] for r_name in r_name_list: res_folder = "./OneCons_eval/{}/".format(r_name.split(":")[-1]) util.createFolder(res_folder) res_file = "{}ht.txt".format(res_folder) r_id = graph.r_id_by_name(r_name) ht_id_list = random.sample(graph.r2ht[r_id], 1000) h_id_list = [ht_id[0] for ht_id in ht_id_list] t_id_list_list = [] for h_id in h_id_list: t_id_list_list.append(graph.node_dict[h_id].get_r_value(r_id)) with open(res_file, 'w', encoding="UTF-8") as f: f.write("{}\n".format(r_name))
graph.e2idx_file = search_folder + "entity2id.txt" graph.r2idx_file = search_folder + "relation2id.txt" graph.triple2idx_file = search_folder + "triple2id.txt" graph.load_data() r_name_list = [] r_idx_list = [] for sparql in eaqs: sp = SparqlParser(sparql=sparql) sp.parse_sparql() for relation in sp.r_name_list: r_name_list.append(relation) r_name_list = list(set(r_name_list)) r_idx_list = [graph.r_id_by_name(r_name) for r_name in r_name_list] final_map_r = 0.0 final_hits10_r = 0.0 final_mrr_r = 0.0 final_time = 0 all_metric_file = "./OneCons_eval/pra_all_metric_normal.txt" for r_name in r_name_list: graph.rule_file = "../../MyData/DBO/United_States/model/{}/rule.txt".format( r_name.split(":")[-1]) graph.model_file = "../../MyData/DBO/United_States/model/{}/{}_model.tar".format( r_name.split(":")[-1], pca_or_cwa) graph.rule_num_to_use_file = "../../MyData/DBO/United_States/model/{}/rule_num_to_use.txt".format( r_name.split(":")[-1])