Entities have ‘Roles’ in Relations
A ‘Role’ is a name for the way an entity participates in a Relation; a role name has an associated explanation or semantic meaning of the relation from this entity’s perspective.
‘Role’ is also a discriminator for multiple appearances of the same entity type at multiple positions within each N-tuple.
An entity type may participate in a relation more than once, provided its ‘role’ differs each time:
- Manager is a specific role for some Employees;
- Husband, Father and Son are particular roles of (Male) Persons in Family relationships;
- Origin and Destination are particular roles of Node instances in the binary relation called Edge which, together with a set of Nodes, defines a digraph.