I have read about UML class diagrams but I am having trouble interpreting a UML style data model. Here is a link to the model.http://www.pageom.org/models/omg/v_1.0_b3/index.htm?goto=15
On this model you will see there is an abstract class called 'Locatable.' In this context it means something that can be assigned a location on a DNA sequence. These positions generally have 3 properties start, stop and strand. I wont explain strand as its unnecessary detail but a DNA sequence is just like a very long character string and the location of something is just its start and stop position in the string.
On this diagram there is a link between the abstract classes Locatable and Location with a role name '+is_treated_as' Is this link just a normal association between the 2 classes showing a many to many relationship? This association is navigable in one direction
If so, according to this diagram, something that is locatable can have many locations (this is ok in the real world as locatable things often have several possible ambiguous locations) and the same location could apply to many locatable things. Fair enough.
But the genomic_variation is a subclass of locatable and genomic_reference_location
is a subclass of location but the relationship between genomic_variation and genomic_reference_location
is not * to * but it is a 'subtype' of * to * so I presume thats acceptable. But it is navigable in both directions Doesn't this violate the relationship of the 'parent' classes which is only navigable in one direction?