code: def add_triple(self, subject, predicate, object):
          
  
          def filter_ontid(ontid):
              if ontid.startswith('http://'):
                  pass
              elif ontid.prefix == 'ILXTEMP':
                  ontid = 'tmp_' + ontid.suffix
              else:
                  ontid = 'ilx_' + ontid.suffix
              return ontid
  
          # this split between annotations and relationships is severely annoying
          # because you have to know before hand which one it is (sigh)
          s = OntId(subject)
          p = OntId(predicate)
          o = self._get_type(object)
          if type(o) == str:
              func = self.ilx_cli.add_annotation
          elif type(o) == OntId:
              func = self.ilx_cli.add_relationship
              o = filter_ontid(o)
          else:
              raise TypeError(f'what are you giving me?! {object!r}')
  
          s = filter_ontid(s)
          p = filter_ontid(p)
  
          resp = func(s, p, o)
          return resp
docs: Triple of curied or full iris to add to graph.
              Subject should be an interlex