code: def execute(self, triple_map, output, **kwargs):
          
          subject = self.generate_term(term_map=triple_map.subjectMap,
                                       **kwargs)
          start_size = len(output)
          all_subjects = []
          for pred_obj_map in triple_map.predicateObjectMap:
              predicate = pred_obj_map.predicate
              if pred_obj_map.template is not None:
                  object_ = self.generate_term(term_map=pred_obj_map, **kwargs)
                  if len(str(object)) > 0:
                      output.add((
                          subject,
                          predicate,
                          object_))
  
              if pred_obj_map.parentTriplesMap is not None:
                  self.__handle_parents__(
                      parent_map=pred_obj_map.parentTriplesMap,
                      subject=subject,
                      predicate=predicate,
                      **kwargs)
              if pred_obj_map.reference is not None:
                  object_ = self.generate_term(term_map=pred_obj_map,
                                               **kwargs)
                  if object_ and len(str(object_)) > 0:
                      output.add((subject, predicate, object_))
              if pred_obj_map.constant is not None:
                  output.add((subject, predicate, pred_obj_map.constant))
          finish_size = len(output)
          if finish_size > start_size:
              output.add((subject,
                               NS_MGR.rdf.type.rdflib,
                               triple_map.subjectMap.class_))
              all_subjects.append(subject)
          return all_subjects
docs: Method executes mapping between CSV source and
          output RDF
  
          args:
              triple_map(SimpleNamespace): Triple Map