docs: def _process_gxd_genotype_summary_view(self, limit=None):
          """
          Add the genotype internal id to mgiid mapping to the idhashmap.
          Also, add them as individuals to the graph.
          We re-format the label to put the background strain in brackets
          after the gvc.
  
          We must pass through the file once to get the ids and
          aggregate the vslcs into a hashmap into the genotype
  
          Triples created:
          <genotype id> a GENO:intrinsic_genotype
          <genotype id> rdfs:label "<gvc> [bkgd]"
  
          :param limit:
          :return:
          """
          if self.test_mode:
              graph = self.testgraph
          else:
              graph = self.graph
  
          model = Model(graph)
          line_counter = 0
          geno_hash = {}
          raw = '/'.join((self.rawdir, 'gxd_genotype_summary_view'))
          LOG.info("building labels for genotypes")
          with open(raw, 'r') as f:
              f.readline()  # read the header row; skip
              for line in f:
                  line = line.rstrip("\n")
                  line_counter += 1
  
                  (object_key, preferred, mgiid, subtype,
                   short_description) = line.split('\t')
  
                  if self.test_mode is True:
                      if int(object_key) not in self.test_keys.get('genotype'):
                          continue
  
                  # add the internal genotype to mgi mapping
                  self.idhash['genotype'][object_key] = mgiid
  
                  if preferred == '1':
                      d = re.sub(r'\,', '/', short_description.strip())
                      if mgiid not in geno_hash:
                          geno_hash[mgiid] = {'vslcs': [d], 'subtype': subtype,
                                              'key': object_key}
                      else:
                          vslcs = geno_hash[mgiid].get('vslcs')
                          vslcs.append(d)
                  else:
                      pass
                      # TODO what to do with != preferred
  
                  if not self.test_mode and limit is not None and line_counter > limit:
                      break
  
          # now, loop through the hash and add the genotypes as individuals
          # we add the mgi genotype as a synonym
          # (we generate our own label later)
          geno = Genotype(graph)
          for gt in geno_hash:
              genotype = geno_hash.get(gt)
              gvc = sorted(genotype.get('vslcs'))
              label = '; '.join(gvc) + ' [' + genotype.get('subtype') + ']'
              geno.addGenotype(gt, None)
              model.addComment(gt, self._makeInternalIdentifier(
                  'genotype', genotype.get('key')))
              model.addSynonym(gt, label.strip())
  
          return