docs: def make_association(self, record):
          """
          contstruct the association
          :param record:
          :return: modeled association of  genotype to mammalian??? phenotype
          """
          # prep record
          # remove description and mapp Experiment Type to apo term
          experiment_type = record['Experiment Type'].split('(')[0]
          experiment_type = experiment_type.split(',')
          record['experiment_type'] = list()
          for exp_type in experiment_type:
              exp_type = exp_type.lstrip().rstrip()
              record['experiment_type'].append(
                  {
                      'id': self.apo_term_id[exp_type],
                      'term': exp_type,
                  })
          sgd_phenotype = record['Phenotype']
          pheno_obj = {
              'entity': {
                  'term': None,
                  'apo_id': None
              },
              'quality': {
                  'term': None,
                  'apo_id': None
              },
              'has_quality': False  # descriptive and don't bother looking for a quality
          }
          phenotype = record['Phenotype']
          if ':' in phenotype:
              pheno_obj['has_quality'] = True
              ent_qual = sgd_phenotype.split(': ')
              entity = ent_qual[0]
              quality = ent_qual[1]
              pheno_obj['entity']['term'] = entity
              pheno_obj['entity']['apo_id'] = self.apo_term_id[entity]
              pheno_obj['quality']['term'] = quality
              pheno_obj['quality']['apo_id'] = self.apo_term_id[quality]
          else:
              pheno_obj['entity']['term'] = phenotype
              pheno_obj['entity']['apo_id'] = self.apo_term_id[phenotype]
          record['pheno_obj'] = pheno_obj
  
          # begin modeling
          model = Model(self.graph)
  
          # define the triple
          gene = 'SGD:{}'.format(record['SGDID'])
          relation = self.globaltt['has phenotype']
  
          if record['pheno_obj']['has_quality']:
              pheno_label = '{0}:{1}'.format(
                  record['pheno_obj']['entity']['term'],
                  record['pheno_obj']['quality']['term'])
              pheno_id = 'MONARCH:{0}{1}'.format(
                  record['pheno_obj']['entity']['apo_id'].replace(':', '_'),
                  record['pheno_obj']['quality']['apo_id'].replace(':', '_')
              )
              g2p_assoc = Assoc(
                  self.graph, self.name, sub=gene, obj=pheno_id, pred=relation)
          else:
              pheno_label = record['pheno_obj']['entity']['term']
              pheno_id = record['pheno_obj']['entity']['apo_id']
              g2p_assoc = Assoc(
                  self.graph, self.name, sub=gene, obj=pheno_id, pred=relation)
              assoc_id = g2p_assoc.make_association_id(
                  'yeastgenome.org', gene, relation, pheno_id)
              g2p_assoc.set_association_id(assoc_id=assoc_id)
  
          # add to graph to mint assoc id
          g2p_assoc.add_association_to_graph()
  
          model.addLabel(subject_id=gene, label=record['Gene Name'])
  
          # add the association triple
          model.addTriple(subject_id=gene, predicate_id=relation, obj=pheno_id)
  
          model.addTriple(
              subject_id=pheno_id,
              predicate_id=self.globaltt['subclass_of'],
              obj=self.globaltt['Phenotype'])
  
          # label nodes
          # pheno label
  
          model.addLabel(subject_id=pheno_id, label=pheno_label)
  
          g2p_assoc.description = self._make_description(record)
  
          # add the references
          references = record['Reference']
          references = references.replace(' ', '')
          references = references.split('|')
  
          #  created Ref prefix in curie map to route to proper reference URL in SGD
          if len(references) > 0:
              # make first ref in list the source
              g2p_assoc.add_source(identifier=references[0])
              ref_model = Reference(
                  self.graph, references[0],
                  self.globaltt['publication']
              )
              ref_model.addRefToGraph()
  
          if len(references) > 1:
              # create equivalent source for any other refs in list
              for ref in references[1:]:
                  model.addSameIndividual(sub=references[0], obj=ref)
  
          # add experiment type as evidence
          for exp_type in record['experiment_type']:
              g2p_assoc.add_evidence(exp_type['id'])
              model.addLabel(subject_id=exp_type['id'], label=exp_type['term'])
  
          try:
              g2p_assoc.add_association_to_graph()
          except Exception as e:
              print(e)
          return