Replies: 1 comment 1 reply
-
In my mental conceptual model we should organise linkml schema development using a similar system as we do using the https://github.com/INCATools/ontology-development-kit. So:
Now I am not sure how @dalito, @sierra-moxon and @cmungall thought of this, and how much of this is supported - I just believe this is the right and most reslient pattern based on 8 years of doing ontology dependencies this way. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I have two applications (JAMOv2, NWB) where users write their own LinkML schemas that extend a base schema (using
is_ato subclass classes). The base schema is versioned via theversionfield.User schemas import the base schema by URI:
which is resolved via an
importmapin Python (SchemaLoader(schema_dict, importmap=...)) or on the CLI.The base schema will evolve over time and may include breaking changes. My concern is: if a user writes a schema against v1.0.0 of the base, and we later publish v2.0.0 with breaking changes, the user's schema silently breaks because the unversioned URI now resolves to the new version.
Would you recommend versioning the URI (e.g.,
https://example.org/base_schema/1.0.0) so that old extensions remain valid? Since version strings should use semantic versioning, would a specification that supports a range of versions be better, e.g.,>= 1.0.0, < 2.0.0? Is there an idiomatic way to handle this in LinkML?Beta Was this translation helpful? Give feedback.
All reactions