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
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: