code: def get_schema_validator(self, schema_name):
          
  
          if schema_name not in self.schemas:
              schema_file = self.get_schema_file(schema_name)
              with open(schema_file) as f:
                  try:
                      jsn_schema = json.load(f)
                  except ValueError as ex:
                      log.error("Could not load %s", schema_file)
                      raise ex
  
              schemas_folder = self.get_schemas_folder()
              root_schema_path = self.get_schema_path(schemas_folder)
              resolver = jsonschema.RefResolver(root_schema_path, None)
              # cache the schema for future use
              self.schemas[schema_name] = (jsn_schema, resolver)
          else:
              jsn_schema, resolver = self.schemas[schema_name]
  
          validator = jsonschema.Draft4Validator(schema=jsn_schema, resolver=resolver)
          # validator.check_schema(jsn_schema) # check schema is valid
  
          return validator
docs: Had to remove the id property from map.json or it uses URLs for validation
          See various issues at https://github.com/Julian/jsonschema/pull/306