docs: def context_resolve(self, field_uri: str) -> str:
          """
          According to field_uri to add corresponding context and return a resolvable field_name
  
          :param field_uri:
          :return: a field_name that can be resolved with kg's @context
          """
          from rdflib.namespace import split_uri
          context = self._kg["@context"] = self._kg.get("@context", dict())
          nm = self.ontology.g.namespace_manager
          space, name = split_uri(field_uri)
          if "@vocab" not in context and None in nm.namespaces():
              context["@vocab"] = nm.store.prefix(space)
          if "@vocab" in context and space == context["@vocab"]:
              # case #1, can directly use name
              return name
          if self.schema.has_field(name):
              if name not in context:
                  prefix = [x for x in list(self.ontology.g.namespace_manager.namespaces())]
                  for x, y in prefix:
                      if space[:-1] == x:
                          context[name] = str(y) + name
                          return name
                  context[name] = field_uri
              return name
          prefix = nm.store.prefix(space)
          if prefix:
              context[prefix] = space
              return nm.qname(field_uri)
          return field_uri