-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Typecode fixes on IDs for ChromatographyConfiguration
, StorageProcess
, and MassSpectrometryConfiguration
class ids
#225
Conversation
|
ChromatographyConfiguration
, StorageProcess
, and MassSpectrometryConfiguration
class ids
Hi @kheal, thanks for including all that info and for tagging me in the migration part. I have a question:
In the Berkeley schema (at this stage, where we haven't yet merged it back into the upstream repo), I consider all schema changes to be part of a single set of "legacy-to-Berkeley" schema changes that get applied at once. So, if those fancy patterns did not exist in the legacy schema, exist in the current Berkeley schema, and will not exist in the Berkeley schema after you merge this PR in, I will effectively act as though they never existed. Out sick this afternoon and typing this from my phone. Hope that helps a bit. |
CONTRIBUTING.md
Outdated
@@ -109,6 +109,9 @@ Core developers should read the material on the [LinkML site](https://linkml.io/ | |||
- Follow the naming conventions of the parent class | |||
- Descriptions of child classes may reference parent classes in a genus-differentia definition structure (e.g. "A workflow execution activity that...") | |||
- Inheritance should be monotonic: `slot_usage` should refine rather than override | |||
- ID patterning and checks | |||
- ID patterns for new classes should follow conventions found [here](https://microbiomedata.github.io/nmdc-schema/identifiers/) | |||
- Class-linking slots (i.e. `has_input`) should have slot_usage declared that limit range to only instances of the expecting linked class (i.e. `syntax: "{id_nmdc_prefix}:chrcon-{id_shoulder}-{id_blade}$"`) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're talking about the structured_pattern
s here, right? The range is limited by the range
metaslot, and not anything else. This is also intended as a short term fix, just until the LinkML developers come up with a more general solution that doesn't require us to make repetitive assertions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, this is in reference to the structured_pattern
use. I understand that its a temporary fix, but it's been a big pain for the re-IDing team so I wanted to document it somewhere until linkML can verify ranges.
I will update language to be more explicit.
thanks, good issues and good PR |
Re:
No they were not. @turbomam nicely documented that for us here: microbiomedata#2122 (comment) . I agree re: no migrator, thanks! |
Co-authored-by: eecavanna <[email protected]>
Co-authored-by: eecavanna <[email protected]>
FYI: The Minter in the Berkeley environment has been updated to (a) tolerate one layer of extraneous parentheses and (b) to use the first typecode — |
approve from non-technical review. |
Yes it is related in that it is dealing with typecodes for NMDC ids, but it does not specifically address changes in the schema related to supporting legacy typecodes. |
PR Information
What type of PR is this? (check all applicable)
Description
This PR aims to
-
ChromatographyConfiguration
typecode changed fromchrocon
tochrcon
-
StorageProcess
typecode changed fromstorpro
tostorpr
All tests and references to these old typecodes
MassSpectrometryConfiguration
andChromatographyConfiguration
.Related Issues
berkeley-schema-fy24
: id slot_usage resulting in badly minted IDs nmdc-schema#2122 . The other aspect of that issue is documented here:berkeley
: Update minter to use first typecode when pattern contains multiple typecodes nmdc-runtime#592Did you add/update any tests?
Could this schema change make it so any valid data becomes invalid?
there are no existing data in mongo that are part of these classes (we discovered these issues when trying to mint IDs in order to load these classes). @eecavanna are you OK with no migrator for this change? I understand that this is not best practice, but making a migrator for theoretical records with ids that could not have been minted seems a bit....unnecessary.
If you answered "Yes", does this PR branch include that migrator?
Does this PR have any downstream implications?