Method executes mapping between CSV source and
        output RDF

        args:
            triple_map(SimpleNamespace): Triple Map

def execute(self, triple_map, output, **kwargs):
        """Method executes mapping between CSV source and
        output RDF

        args:
            triple_map(SimpleNamespace): Triple Map
        """
        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