def from_dict(cls, d):
        """Instantiate a Predicate from a dictionary representation."""
        synopses = [tuple(map(Role.from_dict, synopsis))
                    for synopsis in d.get('synopses', [])]
        return cls(d['predicate'], tuple(d['parents']), synopses)
Instantiate a Predicate from a dictionary representation.