def run(self, config_json, to_file=True): self.create_dirs() results = None try: config = Config(config_json, self.database_config) source_sparql = SPARQL(config, 'source') target_sparql = SPARQL(config, 'target') info_logger = InfoLogger( 'InfoLogger', '{}_{}'.format(source_sparql.get_query_hash(), target_sparql.get_query_hash())) source_cache = Cache(info_logger, config, source_sparql, 'source') if config.get_endpoint_type('source') == 'remote': #0: source_cache.create_cache() elif config.get_endpoint_type('source') == 'local': #1: source_cache.create_cache_file() target_cache = Cache(info_logger, config, target_sparql, 'target') if config.get_endpoint_type('target') == 'remote': #0: target_cache.create_cache() elif config.get_endpoint_type('target') == 'local': #1: target_cache.create_cache_file() mapper = Mapper(info_logger, config, source_sparql, target_sparql) results = mapper.map(to_file) except ConfigNotValidError as e: results = "Config not valid" print(e) except HTTPError as e: print(e) except JSONDecodeError as e: print(e) return results