nfdi4plants/ARCTokenization

[Discussion] is it really necessary to nest static ontology terms

Opened this issue · 2 comments

currently, creating an arc-validate test with the nested static ontology structure looks like this:

ARCExpect.test (TestID.Name INVMSO.``Investigation Metadata``.INVESTIGATION.``Investigation Title``.Name) {
    cvParams
    |> ARCExpect.ByTerm.contains INVMSO.``Investigation Metadata``.INVESTIGATION.``Investigation Title``
}

this is a LOT of noise. INVMSO has < 100 terms. i think it would be both easier AND more discoverable to create a flat class, so that it would just be

ARCExpect.test (TestID.TermName INVMSO.``Investigation Title``) {
    cvParams
    |> ARCExpect.ByTerm.contains INVMSO.``Investigation Title``
}

This way. you would have all possible terms once you write INVMSO. without the need of knowing about any nested structure.

I like the approach in order to reduce noise. Just keep in mind, that for the 'error' message we need the complete information... maybe we use custom attributes to get the full path

omaus commented

@kMutagene Looks really good to me! Yet I would like to know if the complete information (i.e., the parent terms) is still accessible when working that way (as @muehlhaus pointed out).