**Interface Summary** |

**MultiRelationship<FROM,TO,T extends Pair<FROM,TO>>** |
A multi relationship describes a bag of pairs between objects of
the correspond FROM and TO types. |

**One2ManyRelationship<FROM,TO,T extends Pair<FROM,TO>>** |
A One2ManyRelationship represents a relationship where any given
object can only appear in the "from" position at most once. |

**Pair<FROM,TO>** |
Represents an "association instance" between a pair of objects. |

**ReflexiveRelationship<FROM,T extends Pair<FROM,FROM>>** |
A reflexive relationship represents the special case when
FROM == TO. |

**Relationship<FROM,TO,T extends Pair<FROM,TO>>** |
A Relationship describes a set of pairs between objects of the
correspond FROM and TO types. |

**SimpleRelationship<FROM,TO>** |
A simple relationship describes the case where no information is
associated with each pair. |

**TreeRelationship<FROM,T extends Pair<FROM,FROM>>** |
A tree relationship is a reflexive relationship with the added
constraint that each node can have at most one parent. |

**UndirectedRelationship<FROM,T extends Pair<FROM,FROM>>** |
An undirected relationship corresponds to the notion of a directed
graph from graph theory. |

**UniMultiRelationship<FROM,TO,T extends Pair<FROM,TO>>** |
An UniMultiRelationship relationship is a special MultiRelationship
where only one direction of traversal is required. |

**UniRelationship<FROM,TO,T extends Pair<FROM,TO>>** |
A UniRelationship is a relationship supporting only one direction of traversal. |