nfdi4plants / arc-validate-package-registry

A repository of validation packages for ARCs
https://avpr.nfdi4plants.org
MIT License
2 stars 4 forks source link

[Plant Growth Package] Rework critical and non-critical terms #65

Open HLWeil opened 1 week ago

HLWeil commented 1 week ago

The checked terms in the plant growth validation package are the ones from the plant growth condition template.

Now the question is which should be critical (required) and which should be non-critical? For the first version I based it on some ARCs but this is pretty arbitrary atm.

Any ideas or people to include in the discussion? @Brilator

Brilator commented 1 week ago

The Plant_growth_conditions.xlsx template is the oldest template – from a time when we still had a very different to null understanding and tooling how metadata comes together :D (ontologies, swate, public repositories, etc.). I would not generally recommend to use this as a validation show-case.

which should be critical (required) and which should be non-critical

I'd recommend that we as DataPLANT do not reinvent those checklists of what is required / optional, but rather build this based on existing templates from communities / repositories

Maybe, Swate-templates/templates/dataplant/ArrayExpress_-_Plant_sample.xlsx or Swate-templates/templates/dataplant/ENA/ENA_-_Plant_sample_-_extension.xlsx would be better examples and already have requirements.

I'm sure @StellaEggels can add to this.

StellaEggels commented 1 week ago

We did update the plant growth conditions templates not too long ago, but I agree that for defining required/optional terms it would make sense to base it on the repositories' definitions. ENA- Plant sample contains the required terms, ENA-Plant sample- extension, the recommended ones.

HLWeil commented 1 week ago

Yeah it probably makes more sense to have hard contraints only for end-point specific validation packages.

But IMO we should we still keep generic validation packages with mostly recommended terms around to encourage users to share some terms they could otherwise have forgotten about.

Brilator commented 22 hours ago

Add to yaml: First critical term is, whether a protocol type "plant growth protocol" exists

|> Seq.exists (fun token -> 
    token.Name = "ProtocolType" 
    && 
    //Param.getValueAsTerm token = (CvTerm.create("DPBO:1000164","plant growth protocol","DPBO"))
    (Param.getValueAsTerm token).Name = "plant growth protocol"
)