-
Notifications
You must be signed in to change notification settings - Fork 2
Description
It is sometimes useful to define a hierarchy of neurodata types such that a type (usually the highest level) is an abstract data type, i.e., one that is not meant to be instantiated.
Use Case 1: NeurodataWithoutBorders/nwb-schema#603 proposes creating a BaseImage neurodata type that has Image and ExternalImage as subtypes. It would be useful to allow other neurodata types to link to / include a BaseImage neurodata type. This is not just a Union of Image and ExternalImage but it would also allow new data types to be defined that extend BaseImage that could be placed wherever a BaseImage is allowed. A BaseImage should not be created though.
Use Case 2: https://github.com/catalystneuro/ndx-microscopy proposes creating a ImagingSpace neurodata type which has PlanarImagingSpace and VolumetricImagingSpace as subtypes.
LinkML supports the abstract key: https://linkml.io/linkml-model/latest/docs/abstract/
cc @bendichter