def METHOD_NAME(schema_uri):
    l = logging.getLogger(__name__)
    l.debug('Loading schema from %s', schema_uri)
    url_scheme = six.moves.urllib.parse.urlparse(schema_uri).scheme
    l.debug('Parsed URL: %s', schema_uri)
    scheme_dispatch = {
        'file': load_json_schema_from_file,
        'http': load_json_schema_from_web,
        'https': load_json_schema_from_web
    }
    try:
        return scheme_dispatch[url_scheme](schema_uri)
    except KeyError:
        raise IrodsError('ERROR: Invalid schema url: {}'.format(schema_uri))