def create_ontology(self, sql_conn, tab_name, ontol_name, inf_slots,
                        req_slots, sys_req_slots):
        """
        This function will create the .json ontology file.

        :param sql_conn: an sql connection
        :param tab_name: the table name
        :param ontol_name: the ontology name (to be created)
        :param inf_slots: a list of informable slots
        :param req_slots: a list of requestable slots
        :param sys_req_slots: a list of system requestable slots
        :return: nothing
        """

        # Create the ontology
        ontology = {'type': tab_name,
                    'informable': {slot: [] for slot in inf_slots},
                    'requestable': req_slots,
                    'system_requestable': sys_req_slots}

        cursor = sql_conn.cursor()

        for slot in ontology['informable']:
            sql_command = 'SELECT DISTINCT ' + slot + ' FROM ' + tab_name + ';'

            cursor.execute(sql_command)
            db_result = cursor.fetchall()

            if db_result:
                ontology['informable'][slot] = [t[0] for t in db_result]
            else:
                print(f'Warning! CreateSQLiteDB query for distinct {slot} '
                      f'values did not return results.')

        with open(ontol_name, 'w') as ontology_file:
            json.dump(ontology, ontology_file, separators=(',', ':'), indent=4)

        This function will create the .json ontology file.

        :param sql_conn: an sql connection
        :param tab_name: the table name
        :param ontol_name: the ontology name (to be created)
        :param inf_slots: a list of informable slots
        :param req_slots: a list of requestable slots
        :param sys_req_slots: a list of system requestable slots
        :return: nothing
        
plato/domain/create_domain_sqlite_db.py