Skip to content

Refresh model files for 1.11.0-rc3#253

Merged
matentzn merged 9 commits into
mainfrom
refresh-rc3
May 7, 2026
Merged

Refresh model files for 1.11.0-rc3#253
matentzn merged 9 commits into
mainfrom
refresh-rc3

Conversation

@matentzn

@matentzn matentzn commented May 4, 2026

Copy link
Copy Markdown
Contributor

Regenerates the generated artifacts under linkml_model/ against the current source schemas in linkml_model/model/schema/ for the upcoming 1.11.0-rc3 release. Two real changes plus some cleanup:

  1. Picks up the permissivlepermissible typo fix from Fix mistyping in MatchQuery description #249. That PR fixed the typo in meta.yaml but didn't refresh the downstream generated artifacts. This PR propagates the fix into meta.py, jsonld/meta.jsonld, jsonschema/meta.schema.json, protobuf/meta.proto, owl/meta.owl.ttl, shacl/meta.shacl.ttl, and sqlschema/meta.sql.

  2. Populates linkml_model/array.py. The file existed but was empty — array.yaml has been part of the schema source for a while but the Python module was never generated from it (see Fix equals_string on enum-ranged array_linearization_order #251). Now it ships properly (285 lines).

  3. Revives stale linkml_model/rdf/ and linkml_model/sqlddl/. These were removed from the gen-project defaults at some time back in 2023 - I hereby add them back.

@matentzn matentzn changed the title Refresh model files Refresh model files for 1.11.0-rc3 May 4, 2026
@matentzn
matentzn requested review from amc-corey-cox, dalito and rly May 4, 2026 13:34
amc-corey-cox
amc-corey-cox previously approved these changes May 4, 2026

@amc-corey-cox amc-corey-cox left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me. Claude pointed out to me that we now have a few files named in linkml_files.py that we just deleted so they now don't exist. Might be nice to clean that up but it's just a nit. This is ready to go.

Comment thread linkml_model/rdf/README.md
Comment thread linkml_model/array.py
@rly

rly commented May 4, 2026

Copy link
Copy Markdown
Contributor

One minor comment above about metamodel_version in the python files, but otherwise the array parts that I am knowledgeable about look good to me.

@matentzn

matentzn commented May 5, 2026

Copy link
Copy Markdown
Contributor Author

One minor comment above about metamodel_version in the python files, but otherwise the array parts that I am knowledgeable about look good to me.

I did the change now but it unfortunately wont permeate all the way through until the NEXT release. This is because some of the generated artefacts use the metamodel version vendored into the meta.py INSIDE the runtime. Once this is merged and updated in the runtime, this loop will close a bit more, but it is an annoying side effect that the "metamodel version" used to generate the metamodel is NOT the same as the meta model version being updated.

Comment thread linkml_model/array.py
"""
Determines how a linear contiguous representation of the elements of an array map to array indices
"""
COLUMN_MAJOR_ARRAY_ORDER = PermissibleValue(

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I'm looking at this in more detail now. Claude flagged this -- PermissibleValue is not imported or defined in this file. Unless I am missing something, I don't think this file can be imported. Is that OK? The top-level comment says "model is not intended to be imported directly". I don't fully understand how this file is used, and I suppose since this is the first time it is generated, it hasn't been used at all!

Comment thread linkml_model/array.py
description="""An array layout option in which the elements in each row is stored in consecutive positions, or any generalization thereof to dimensionality greater than 2""",
meaning=GOM["rowMajorArray"])

_defn = EnumDefinition(

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same for EnumDefinition.

Comment thread linkml_model/array.py
class_name: ClassVar[str] = "NDArray"
class_model_uri: ClassVar[URIRef] = LINKML.NDArray

elements: Union[Union[dict, Any], list[Union[dict, Any]]] = None

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The type hint says that elements is required but there is no

if self._is_empty(self.elements):
  self.MissingRequiredField("elements")

like in DataArray.__post_init__. Probably an issue with pythongen.py but just flagging it as something that appears to be missing. Not blocking if this file isn't used anyway

@amc-corey-cox amc-corey-cox left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me now.

@matentzn

matentzn commented May 7, 2026

Copy link
Copy Markdown
Contributor Author

@rly I filed a follow up issue for all your observations and assigned @amc-corey-cox : linkml/linkml#3483

These were broken before - PR just surfaces the brokenness - and we need to RC release out now! THANKS 1 million for the reviews!

@matentzn
matentzn merged commit 051e945 into main May 7, 2026
8 checks passed
@matentzn
matentzn deleted the refresh-rc3 branch May 7, 2026 09:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants