docs: def _process_cvterm(self):
          """
          CVterms are the internal identifiers for any controlled vocab
          or ontology term.  Many are xrefd to actual ontologies.  The actual
          external id is stored in the dbxref table, which we place into
          the internal hashmap for lookup with the cvterm id.  The name of
          the external term is stored in the "name" element of this table, and
          we add that to the label hashmap for lookup elsewhere
  
          :return:
  
          """
  
          line_counter = 0
          raw = '/'.join((self.rawdir, 'cvterm'))
          LOG.info("processing cvterms")
  
          with open(raw, 'r') as f:
              f.readline()  # read the header row; skip
              filereader = csv.reader(f, delimiter='\t', quotechar='\"')
              for line in filereader:
                  line_counter += 1
  
                  (cvterm_id, cv_id, definition, dbxref_id, is_obsolete,
                   is_relationshiptype, name) = line
  
                  # 316 6 1665919 0 0 rRNA_cleavage_snoRNA_primary_transcript
                  # 28  5 1663309 0 0 synonym
                  # 455 6 1665920 0 0 tmRNA
  
                  # not sure the following is necessary
                  # cv_prefixes = {
                  #     6 : 'SO',
                  #     20: 'FBcv',
                  #     28: 'GO',
                  #     29: 'GO',
                  #     30: 'GO',
                  #     31: 'FBcv',  # not actually FBcv - I think FBbt.
                  #     32: 'FBdv',
                  #     37: 'GO',   # these are relationships
                  #     73: 'DOID'
                  # }
  
                  # if int(cv_id) not in cv_prefixes:
                  #     continue
                  cvterm_key = cvterm_id
                  cvterm_id = self._makeInternalIdentifier('cvterm', cvterm_key)
                  self.label_hash[cvterm_id] = name
                  self.idhash['cvterm'][cvterm_key] = cvterm_id
                  # look up the dbxref_id for the cvterm
                  # hopefully it's one-to-one
                  dbxrefs = self.dbxrefs.get(dbxref_id)
                  if dbxrefs is not None:
                      if len(dbxrefs) > 1:
                          LOG.info(
                              ">1 dbxref for this cvterm (%s: %s): %s",
                              str(cvterm_id), name, dbxrefs.values())
                      elif len(dbxrefs) == 1:
                          # replace the cvterm with
                          # the dbxref (external) identifier
                          did = dbxrefs.popitem()[1]
                          # get the value
                          self.idhash['cvterm'][cvterm_key] = did
                          # also add the label to the dbxref
                          self.label_hash[did] = name
          return