Example #1
0
 def getJoinColUniqueOneLink(self, first_table, second_table):
     general_links = generalLinksDB([first_table, second_table], self)
     links = general_links.getLinks()
     edge = links[0]
     first_node = edge[0]
     [first_table, join_col] = first_node.split(':')
     return join_col
Example #2
0
 def test_Two_Tables_One_Link_Case3(self):
     first_table = "./ks_filehandler/ks_filehandler/data/Sales.csv"
     second_table = "./ks_filehandler/ks_filehandler/data/CountryRegion.csv"
     ks_merge = merge(self.db)
     ks_merge.reset()
     ks_merge.addTable(first_table,"Sales")
     ks_merge.addTable(second_table,"CountryRegion")
     general_links = generalLinksDB(["Sales","CountryRegion"], ks_merge)
     self.assertEqual(False, general_links.isEdge('Sales.csv:Cou ntryCode', 'CountryRegion.csv:CountryCode'))
     self.db.commit()
Example #3
0
 def getJoinColUniqueTwoLinks(self, first_table, second_table):
     general_links = generalLinksDB([first_table, second_table],self)
     links = general_links.getLinks()
     edge1 = links[0]
     first_node = edge1[0]
     [first_table, join_col1] = first_node.split(':')
     edge2 = links[1]
     second_node = edge2[0]
     [first_table, join_col2] = second_node.split(':')
     return [join_col1, join_col2]
Example #4
0
 def isUniqueTwoLinks(self, first_table, second_table):
     general_links = generalLinksDB([first_table, second_table],self)
     if len(general_links.getLinks()) == 2:
         [join_col1, join_col2] = self.getJoinColUniqueTwoLinks(first_table, second_table)
         is_unique_table1 = self.isUniqueColTwo(first_table, join_col1, join_col2)
         is_unique_table2 = self.isUniqueColTwo(second_table, join_col1, join_col2)
         if is_unique_table1 or is_unique_table2:
             return True
         else:
             return False
     else:
         return False    
Example #5
0
 def isUniqueOneLink(self, first_table, second_table):
     general_links = generalLinksDB([first_table, second_table],self)
     links = general_links.getLinks()
     print len(links)
     print links
     if len(links) == 1:
         edge = links[0]
         first_node = edge[0]
         second_node = edge[1]
         [first_table, first_col] = first_node.split(':')
         [second_table, second_col] = second_node.split(':')
         if (self.isUniqueCol(first_table, first_col)) or (self.isUniqueCol(second_table, second_col)):
             return True
         else:
             return False
     else:
         return False
Example #6
0
 def test_Four_Tables_Five_Links(self):
     first_table = "./ks_filehandler/ks_filehandler/data/Sales.csv"
     second_table = "./ks_filehandler/ks_filehandler/data/graph/CountryRegion.csv"
     third_table = "./ks_filehandler/ks_filehandler/data/ComissionTax.csv"
     fourth_table = "./ks_filehandler/ks_filehandler/data/graph/Currencyv2.csv"
     ks_merge = merge(self.db)
     ks_merge.reset()
     ks_merge.addTable(first_table,"Sales")
     ks_merge.addTable(second_table,"CountryRegion")
     ks_merge.addTable(third_table,"ComissionTax")
     ks_merge.addTable(fourth_table,"Currencyv2")
     
     
     general_links = generalLinksDB(["Sales","Currencyv2","ComissionTax","CountryRegion"], ks_merge)
     
     print ("Links:")
     print(general_links.getLinks())
     self.assertEqual(True, general_links.isEdge('ComissionTax:Region', 'CountryRegion:Region'))
     self.assertEqual(True, general_links.isEdge('ComissionTax:VendorId', 'Sales:VendorId'))
     self.assertEqual(True, general_links.isEdge('Sales:CountryCode', 'CountryRegion:CountryCode'))
     self.assertEqual(True, general_links.isEdge('Sales:DownloadDate', 'Currencyv2:DownloadDate'))
     self.assertEqual(True, general_links.isEdge('Currencyv2:CustomerCurrency', 'Sales:CustomerCurrency'))
     self.db.commit()
Example #7
0
 def getLinks(self):
     general_links = generalLinksDB(self.getTables(),self)
     links = general_links.getLinks()
     return links