code: def write(self, filename, type_='obo'):  #FIXME this is bugged
          
          if os.path.exists(filename):
              name, ext = filename.rsplit('.',1)
              try:
                  prefix, num = name.rsplit('_',1)
                  n = int(num)
                  n += 1
                  filename = prefix + '_' + str(n) + '.' + ext
              except ValueError:
                  filename = name + '_1.' + ext
              print('file exists, renaming to %s' % filename)
              self.write(filename, type_)
  
          else:
              with open(filename, 'wt', encoding='utf-8') as f:
                  if type_ == 'obo':
                      f.write(str(self))  # FIXME this is incredibly slow for big files :/
                  elif type_ == 'ttl':
                      f.write(self.__ttl__())
                  else:
                      raise TypeError('No exporter for file type %s!' % type_)
docs: Write file, will not overwrite files with the same name
              outputs to obo by default but can also output to ttl if
              passed type_='ttl' when called.