This repository was archived by the owner on Sep 25, 2018. It is now read-only.

Description
(child_of: #56)
AbstractEntity should implement Entity all entity classes should extend AbstractEntity
Entity is_a ClassInstance where ClassInstance is defined as:
An abstract class for anything that can be described as a boolean combination of ontology classes
Which rather covers everything and anything. Usage of ClassInstance is not completely uniform - GenomicEntity and Publication aren't marked as ClassInstance but everything else in condition, entity, environment and evidence packages extend from ClassInstance so most likely these are omissions.
So:
- Should
GenomicEntity be a ClassInstance (I think yes, and then given that I'll create an AbstractEntity as per this ticket.)
- Should
Publication be a ClassInstance (maybe? Probably yes.)
- Should all classes extending
ClassInstance have their own @JsonldType (Probably. Again, this is sporadic in the code, but then we have issues of mismatch i.e. org.phenopackets.evidence.Publication could be associated with IAO:0000311 but is probably better less constrained as a IAO:0000310 however if not then it can be better described in ClassInstance.types)
@cmungall, @selewis, @balhoff - opinions?