GenomicsStandardsConsortium / mixs

Minimum Information about any (X) Sequence” (MIxS) specification
https://w3id.org/mixs
Creative Commons Zero v1.0 Universal
38 stars 21 forks source link

Master issue for problematic enumerations #367

Open turbomam opened 2 years ago

turbomam commented 2 years ago

These are LinkML permissible values containing a semicolon, indicative of a MIxS expected value in the pattern [a|b|c];something else

from linkml_runtime.utils.schemaview import SchemaView
mixs_file = "model/schema/mixs.yaml"
mixs_view = SchemaView(mixs_file)
mixs_enums = mixs_view.all_enums()

for ek, ev in mixs_enums.items():
    pvs = ev.permissible_values
    for pvk, pvv in pvs.items():
        if ';' in pvk:
            print(f"{ek}\t{pvk}")

Checkmark means that the bad permissible value has been tidied up, disconnected from the slot, and that the slot's range has been converted to a string with a regular expression pattern.

turbomam commented 2 years ago

many of these could still be improved by coming up with more explicit policies for use cases