def middle_record(record1, record2): """ get the generalization result of record1 and record2 """ mid = [] for i in range(QI_LEN): if IS_CAT[i] is False: temp = [] temp.extend(get_num_list_from_str(record1[i])) temp.extend(get_num_list_from_str(record2[i])) temp.sort(cmp=cmp_str) if temp[0] == temp[-1]: mid.append(temp[0]) else: mid.append(temp[0] + ',' + temp[-1]) else: mid.append(LCA(record1[i], record2[i], i)) return mid
def middle(record1, record2): """ Compute relational generalization result of record1 and record2 """ mid = [] for i in range(QI_LEN): if IS_CAT[i] is False: split_number = [] split_number.extend(get_num_list_from_str(record1[i])) split_number.extend(get_num_list_from_str(record2[i])) split_number.sort(cmp=cmp_str) if split_number[0] == split_number[-1]: mid.append(split_number[0]) else: mid.append(split_number[0] + ',' + split_number[-1]) else: mid.append(get_LCA(i, record1[i], record2[i])) return mid
def generalization(record1, record2): """ Compute relational generalization result of record1 and record2 """ gen = [] for i in range(QI_LEN): if IS_CAT[i] is False: split_number = [] split_number.extend(get_num_list_from_str(record1[i])) split_number.extend(get_num_list_from_str(record2[i])) split_number = list(set(split_number)) if len(split_number) == 1: gen.append(split_number[0]) else: split_number.sort(cmp=cmp_str) gen.append(split_number[0] + ',' + split_number[-1]) else: gen.append(get_LCA(i, record1[i], record2[i])) return gen
def middle_record(record1, record2): """ get the generalization result of record1 and record2 """ mid = [] for i in range(QI_LEN): if IS_CAT[i] is False: split_number = [] split_number.extend(get_num_list_from_str(record1[i])) split_number.extend(get_num_list_from_str(record2[i])) split_number.sort(cmp=cmp_str) # avoid 2,2 problem if split_number[0] == split_number[-1]: mid.append(split_number[0]) else: mid.append(split_number[0] + ',' + split_number[-1]) else: mid.append(LCA(record1[i], record2[i], i)) return mid