<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def make_relationship(self, relator, direction= RELATIONSHIP_DIRECTIONS.BIDIRECTIONAL):
 """ Create a relationship object for this attribute from the given relator and relationship direction. """

        if IEntity.providedBy(relator): # pylint:disable=E1101
            rel = DomainRelationship(relator, self,
                                     direction=direction)
        elif IResource.providedBy(relator): # pylint:disable=E1101
            rel = ResourceRelationship(relator, self,
                                       direction=direction)
        else:
            raise ValueError('Invalid relator argument "%s" for '
                             'relationship; must provide IEntity or '
                             'IResource.' % relator)
        return rel