Relationship between objects is always tricky, on one hand relationships capture something relevant to the domain model, on the other hand correspond to some sort of implementation.
For example a one-to-many relationship might be a collection declared as a property, or a virtual property may query the datastore to find the appropriate objects.
GAPE allows to specify one-to-one, one-to-many and many-to-many relationships.
The link operator (<->) makes the association bidirectional.