Example #1
0
def mysql_db_context(request, input_dict, output_dict, widget):
    con = input_dict['connection']
    find_con = input_dict['find_connections'] == 'true'
    initial_context = DBContext(con, find_connections=find_con)
    initial_target_cols = initial_context.cols[initial_context.target_table]
    cols_dump = json.dumps(initial_context.cols)
    return render(
        request, 'interactions/db_context.html', {
            'widget': widget,
            'context': initial_context,
            'connections': dict(initial_context.connected),
            'target_cols': initial_target_cols,
            'cols': cols_dump
        })
Example #2
0
def mysql_db_context_finished(postdata, input_dict, output_dict):
    con = input_dict['connection']
    find_con = input_dict['find_connections'] == 'true'
    context = DBContext(con, find_connections=find_con)
    context.update(postdata)
    return {'context' : context}
Example #3
0
def mysql_db_context_finished(postdata, input_dict, output_dict):
    con = input_dict['connection']
    find_con = input_dict['find_connections'] == 'true'
    context = DBContext(con, find_connections=find_con)
    context.update(postdata)
    return {'context': context}
Example #4
0
    def dataset(self):
        '''
        Returns the db context as a list of interpretations, i.e., a list of 
        facts true for each example.
        '''
        target = self.db.target_table
        db_examples = self.db.rows(target,
                                   [self.db.target_att, self.db.pkeys[target]])

        examples = []
        for cls, pk in sorted(db_examples, key=lambda ex: ex[0]):
            facts = self._facts(pk,
                                self.db.pkeys[target],
                                target,
                                visited=set())
            examples.append('%s %s' % (cls, ', '.join(facts)))

        return '\n'.join(examples)

    def default_template(self):
        return '[%s]' % (', '.join(self._template))


if __name__ == '__main__':
    from context import DBConnection, DBContext
    context = DBContext(DBConnection('ilp', 'ilp123', 'ged.ijs.si', 'muta_42'))
    context.target_table = 'drugs'
    context.target_att = 'active'
    conv = Aleph_Converter(context)
Example #5
0
def database_db_context_finished(postdata, input_dict, output_dict):
    con = input_dict['connection']
    find_con = input_dict['find_connections'] == 'true'
    context = DBContext(con, find_connections=find_con)
    _update_context(context, postdata)
    return {'context' : context}
Example #6
0
            examples.append('%s %s' % (cls, ', '.join(facts)))

        return '\n'.join(examples)


    def default_template(self):
        return '[%s]' % (', '.join(self._template))


if __name__ == '__main__':
    from context import DBConnection, DBContext

    # context = DBContext(DBConnection('ilp','ilp123','ged.ijs.si','trains'))
    # context.target_table = 'trains'
    # context.target_att = 'direction'
    context = DBContext(DBConnection('ilp','ilp123','ged.ijs.si','muta_42'))
    context.target_table = 'drugs'
    context.target_att = 'active'
    # intervals = {'cars': {'position' : [1, 3]}}
    #import cPickle
    #cPickle.dump(intervals, open('intervals.pkl','w'))
    #rsd = RSD_Converter(context, discr_intervals=intervals, dump=True)
    #aleph = Aleph_Converter(context, target_att_val='east', discr_intervals=intervals, dump=True)
    treeliker = TreeLikerConverter(context)

    print treeliker.default_template()
    print treeliker.dataset()

    #print rsd.background_knowledge()
    #print aleph.background_knowledge()
    #orange = Orange_Converter(context)
Example #7
0
        return dataset

    def orng_type(self, table_name, col):
        '''
        Assigns a given mysql column an orange type.
        '''
        mysql_type = self.types[table_name][col]
        n_vals = len(self.db.col_vals[table_name][col])
        if mysql_type in Orange_Converter.continuous_types or (n_vals >= 50 and mysql_type in Orange_Converter.integer_types):
            return 'c'
        elif mysql_type in Orange_Converter.ordinal_types+Orange_Converter.integer_types:
            return 'd'
        else:
            return 'string'

if __name__ == '__main__':
    from context import DBConnection, DBContext

    context = DBContext(DBConnection('root','','localhost','test'))
    context.target_table = 'trains'
    context.target_att = 'direction'
    intervals = {'cars': {'position' : [1, 3]}}
    import cPickle
    cPickle.dump(intervals, open('intervals.pkl','w'))
    rsd = RSD_Converter(context, discr_intervals=intervals, dump=True)
    aleph = Aleph_Converter(context, target_att_val='east', discr_intervals=intervals, dump=True)
    print rsd.background_knowledge()
    print aleph.background_knowledge()
    #orange = Orange_Converter(context)
    #orange.target_table()