DH 2.0 Schema Editor entity reuse failing
Version: DH 2.0 (1.9.8 in branch) Branch: dh2-1m-rework
When trying to reuse (type: "slot_usage") the "specimen_collector_sample_id" field from the "CanCOGeNCovid19" (schema.yaml) file, inheritance appears to be failing or there is something else preventing the slot from saving properly to the .yaml.
All the field attributes were left empty, so it is expected the resulting schema-output.yaml would have the slot with all the CanCOGeNCovid19 field attributes, but none were saved and the slot didn't appear under the .yaml "slots:" though it did appear under "slot_usage".
Tried repeating after filling in all the "required" field attributes: slot_usage updated with the filled in required fields but there was still no inherited information from the CanCOGeNCovid19 in "slots" nor "slot_usage".
FIELD OUTPUT
- schema- test field reuse inheritence.yaml
- Output with no field attributes were changed.
- schema- test field reuse inheritence3.yaml
- Output with required field attributes changed.
FIELD SCREENSHOT
"Picklist" "Inherits" isn't working when saving schema.yaml. E.g. when "AnatomicalPartMenu" set "Inherits" to "AnatomicalMaterialMenu" and saved, the output schema.yaml file did not reflect the changes (still had the range of "AnatomicalPartMenu" which still had it's original picklist choices).
PICKLIST OUTPUT
PICKLIST SCREENSHOT
@cmrn-rhi about picklist "inherits" functionality, LinkML intends a different functionality there, which won't show up in the DataHarmonizer schema editor directly. Basically "inherits" allows naming other picklists to combine, in order, with any entries of the inheriting picklist being overlayed (or appended) to the other picklist combined entries. But all this is done at run-time, i.e. when DataHarmonizer loads up a template, and so doesn't involve any changes to field ranges. This LinkML function hasn't been added to DH yet but I will do this shortly. ... done in dh2-1m-rework!
So far DH Schema Editor doesn't have a test to verify that a slot defined for a table via slot_usage is also present in schema.slots; one has to manually add schema.slots items separately. It would be good as you convey to automatically add a schema.slot for each slot mentioned with slot_usage, (i.e. for Fields with Type column: "Table field (from schema)". I'll try to express a few more requirements here about how this might all work ...