How to render double instantiation?
Closed this issue · 1 comments
A double instantiation is when the same instance is typed with two different classes. For the moment, our script renders only one of the two classes which is not representative of the .ttl. This will happen in many cases like when we want to apply a language to an appellation since the instance has to be typed as crm:E41_Appellation
and crm:E33_Linguistic_Object
. Even if a new class will combine those two in the next CIDOC CRM RDF version, it will still be relevant in many cases like when we would like to represent a crm:E18_Physical_Thing
as also a crm:E53_Place
.
So the first step is to display both classes than we need to display them in a unique diagram. For the instance
diagram this is not an issue since the instance will do the connection. However, for the ontology
diagram, we need to connect them. For the moment, the best solution seems to be to find the closest superclass and display the rdfs:subClassOf
tree.
After further discussion, we found that, for the ontology
diagram, connecting the two classes through their closest superclasses means that we also need to specify which properties are associated with which classes. As the rdf doesn't explicitly include those associations, representing such structure in the diagram would require complicated inference in the script.
Thus we decided that in the case of double instantiation in the ontology
diagram, the two classes will be put in the same box/node. As for the color, instead of choosing the color code of one of the classes, we think grey is a better option, similar to the URI node in the instance
diagram. See the example below: