def make_model(self, grounding_ontology='UN', grounding_threshold=None):
        if grounding_threshold is not None:
            self.grounding_threshold = grounding_threshold
        self.grounding_ontology = grounding_ontology
        statements = [stmt for stmt in self.statements if
                      isinstance(stmt, Influence)]
        self.CAG = nx.MultiDiGraph()
        for s in statements:
            has_both_polarity = (s.subj.delta['polarity'] is not None and
                                 s.obj.delta['polarity'] is not None)
            for node, delta in zip((s.subj.concept, s.obj.concept),
                                   (s.subj.delta, s.obj.delta)):
                self.CAG.add_node(self._node_name(node),
                                  simulable=has_both_polarity,
                                  mods=delta['adjectives'])
            linestyle = 'solid' if has_both_polarity else 'dotted'
            if has_both_polarity:
                same_polarity = (s.subj.delta['polarity'] ==
                                 s.obj.delta['polarity'])
                if same_polarity:
                    target_arrow_shape, linecolor = ('circle', 'green')
                else:
                    target_arrow_shape, linecolor = ('tee', 'maroon')
            else:
                target_arrow_shape, linecolor = ('triangle', 'maroon')
            provenance = []
            if s.evidence:
                provenance = s.evidence[0].annotations.get('provenance', [])
                if provenance:
                    provenance[0]['text'] = s.evidence[0].text
            self.CAG.add_edge(
                    self._node_name(s.subj.concept),
                    self._node_name(s.obj.concept),
                    subj_polarity=s.subj.delta['polarity'],
                    subj_adjectives=s.subj.delta['adjectives'],
                    obj_polarity=s.obj.delta['polarity'],
                    obj_adjectives=s.obj.delta['adjectives'],
                    linestyle=linestyle,
                    linecolor=linecolor,
                    targetArrowShape=target_arrow_shape,
                    provenance=provenance,
                )
        return self.CAG