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

Make an AbstractEntity base class for all Entities #58

@julesjacobsen

Description

@julesjacobsen

(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:

  1. Should GenomicEntity be a ClassInstance (I think yes, and then given that I'll create an AbstractEntity as per this ticket.)
  2. Should Publication be a ClassInstance (maybe? Probably yes.)
  3. 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?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions