Meta Data Services Programming
Understanding Relationship Roles
Each relationship belongs to two relationship collections, one that describes the relationship from the perspective of the origin, and another that describes it from the perspective of the destination.
For example, the relationship Herman Melville wrote Billy Budd is a member of two different collections:
- The set of books written by Herman Melville; or, expressed in terms of a relationship collection, the set of authorships for which Herman Melville is the writer
- The set of authors of Billy Budd; or, expressed in terms of a relationship collection, the set of authorships for which Billy Budd is the written thing
There is a relationship between collection type and relationship type. The following figure shows some relationship types and their attendant collection types.
In the figure, each relationship type has exactly two collection types. The following are true for every relationship:
- Each relationship is a member of two relationship collections.
- Each relationship relates two objects, an origin object and a destination object.
- You can read each relationship in two directions.
- In any relationship, the related objects participate in two separate roles. For example, the roles in the relationship Kraig Brockschmidt wrote Inside OLE, are:
- The role of writing thing, filled by the object describing Kraig Brockschmidt.
- The role of written thing, filled by the object describing Inside OLE.
The two roles correspond to the two collection types.
- The role of writing thing, filled by the object describing Kraig Brockschmidt.