docs: def _process_genotype_backgrounds(self, limit=None):
          """
          This table provides a mapping of genotypes to background genotypes
          Note that the background_id is also a genotype_id.
  
          Makes these triples:
          <ZFIN:genotype_id> GENO:has_reference_part <ZFIN:background_id>
          <ZFIN:background_id> a GENO:genomic_background
          <ZFIN:background_id> in_taxon <taxon_id>
          <taxon_id> a class
          :param limit:
          :return:
  
          """
  
          if self.test_mode:
              graph = self.testgraph
          else:
              graph = self.graph
          model = Model(graph)
          LOG.info("Processing genotype backgrounds")
          line_counter = 0
          raw = '/'.join((self.rawdir, self.files['backgrounds']['file']))
          geno = Genotype(graph)
  
          # Add the taxon as a class
          taxon_id = self.globaltt['Danio rerio']
          model.addClassToGraph(taxon_id, None)
  
          with open(raw, 'r', encoding="iso-8859-1") as csvfile:
              filereader = csv.reader(csvfile, delimiter='\t', quotechar='\"')
              for row in filereader:
                  line_counter += 1
                  # Genotype_ID 	Genotype_Name 	Background 	Background_Name
                  (genotype_id, genotype_name, background_id, unused) = row
  
                  if self.test_mode and genotype_id not in self.test_ids['genotype']:
                      continue
  
                  genotype_id = 'ZFIN:' + genotype_id.strip()
                  background_id = 'ZFIN:' + background_id.strip()
  
                  # store this in the hash for later lookup
                  # when building fish genotypes
                  self.genotype_backgrounds[genotype_id] = background_id
  
                  # add the background into the graph,
                  # in case we haven't seen it before
                  geno.addGenomicBackground(background_id, None)
  
                  # hang the taxon from the background
                  geno.addTaxon(taxon_id, background_id)
  
                  # add the intrinsic genotype to the graph
                  # we DO NOT ADD THE LABEL here
                  # as it doesn't include the background
                  geno.addGenotype(genotype_id, None, self.globaltt['intrinsic_genotype'])
  
                  # Add background to the intrinsic genotype
                  geno.addGenomicBackgroundToGenotype(background_id, genotype_id)
  
                  if not self.test_mode and limit is not None and line_counter > limit:
                      break
  
          LOG.info("Done with genotype backgrounds")
          return