MCPcopy Create free account
hub / github.com/BIT-DataLab/LakeBench / computeSynthColumnSemantics

Function computeSynthColumnSemantics

union/Santos/query.py:49–81  ·  view source on GitHub ↗
(input_table, synth_type_kb)

Source from the content-addressed store, hash-verified

47
48#compute synthesized CS for the query table
49def computeSynthColumnSemantics(input_table, synth_type_kb):
50 #synthInvertedIndex = {}
51 all_column_semantics = {}
52 col_id = 0
53 for (columnName, columnData) in input_table.iteritems():
54 sem = {}
55 #creating the lookup table for data lake tables
56 if genFunc.getColumnType(input_table[columnName].tolist()) == 1:
57 #print(table_name)
58 input_table[columnName] = input_table[columnName].map(str)
59 valueList = genFunc.preprocessListValues(input_table[columnName].unique())
60 hit_found = 0
61 #find bag of semantics for each column
62 for value in valueList:
63 if value in synth_type_kb:
64 item = synth_type_kb[value]
65 hit_found += 1
66 for temp in item:
67 semName = temp[0]
68 semScore = temp[-1]
69 if semName in sem:
70 sem[semName] +=semScore
71 else:
72 sem[semName] = semScore
73 for every in sem:
74 sem[every] = sem[every]/hit_found
75
76 if str(col_id) in all_column_semantics:
77 print("red flag!!!")
78 else:
79 all_column_semantics[str(col_id)] = sem
80 col_id += 1
81 return all_column_semantics
82
83#compute synthesized relationship semantics for the query table
84def computeSynthRelation(inputTable, subjectIndex, synthKB):

Callers 1

query.pyFile · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected