def _add(o, r, t, a=None):
        '''
        Conditionally add a statement to model, if not a duplicate
        '''
        a = a or {}
        parts = (o, r, t, tuple(a.items()))
        if (parts in added_links) or (parts in disjoint):
            return False
        model.add(o, r, t, a)
        added_links.add((o, r, t, tuple(a.items())))
        return True