Skip to content

Regenerate model files to match current meta.yaml - #272

Open
amc-corey-cox wants to merge 1 commit into
mainfrom
regenerate-model-files
Open

Regenerate model files to match current meta.yaml#272
amc-corey-cox wants to merge 1 commit into
mainfrom
regenerate-model-files

Conversation

@amc-corey-cox

Copy link
Copy Markdown
Contributor

The generated artifacts were last rebuilt at v1.11.0 and have drifted from the source schema since. Two merged changes never made it into the generated outputs:

This is a plain make gen-project on current main, no hand edits. make test passes and linkml-validate reports no issues on the examples.

Why now

I'd like to cut a v1.12.0-rc1 pre-release off this commit, to unblock linkml/linkml#3709.

That PR reworks packages/linkml_runtime/Makefile to resolve the newest linkml-model release — release candidates included — from the GitHub releases API, vendor it, and record the upstream SHA. Right now its only option is to revert the vendored copy back to v1.11.0, because that's the most recent tag. A pre-release cut from a regenerated main lets it vendor current content instead of moving backwards.

Vendoring pulls the whole generated tree, not just model/schema/, so it matters that the artifacts are self-consistent with meta.yaml before the tag exists. Hence regenerating first.

This also matches how the tags have been cut historically — v1.11.0 points at #253 ("Refresh model files for 1.11.0-rc3"), and the rc's before it likewise sit on regeneration commits.

On the diff size

~6,800 lines changed, but most of it is not content. The SHACL and OWL serializers emit set-derived collections in nondeterministic order, so the same content gets re-serialized in a different sequence on every run. Sorting the added and removed lines in meta.shacl.ttl and diffing them against each other leaves 101 genuinely differing lines out of 4,298 — the other ~98% is pure reordering. meta.owl.ttl behaves the same way.

Worth reviewing the small files (meta.py, jsonld/, sqlddl/, jsonschema/) closely and the two big TTLs not at all.

The generated artifacts were last rebuilt at v1.11.0 and have since drifted
from the source schema: #254's new prefixes (dcterms, rdfs, rdf) and #258's
rewritten key/identifier descriptions were never propagated.

Most of the line count is generator noise rather than content. The SHACL and
OWL serializers emit set-derived collections in nondeterministic order, so
~98% of the churn in those two files is the same content reordered.
Copilot AI lite review requested due to automatic review settings August 7, 2026 22:52

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Regenerates LinkML model generated artifacts so they match the current meta.yaml and recent schema/documentation updates (including added prefix definitions and clarified key/identifier/unique_keys semantics), keeping downstream consumers in sync ahead of a release candidate.

Changes:

  • Rebuilt generated Python modules, RDF/TTL artifacts, JSON-LD contexts, JSON Schema, SQL DDL, Shex, and Protobuf outputs against the updated schemas.
  • Propagated new prefix definitions (dcterms, rdf, rdfs) and updated slot documentation for key, identifier, and unique_keys into generated outputs.
  • Updated embedded generation metadata (generation dates, metamodel version values) across regenerated files.

Reviewed changes

Copilot reviewed 28 out of 34 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
linkml_model/validation.py Regenerated Python bindings for validation.yaml (metamodel version/date updates).
linkml_model/units.py Regenerated Python bindings for units.yaml (metamodel version/date updates).
linkml_model/types.py Regenerated Python bindings for types.yaml (metamodel version/date updates).
linkml_model/sqlddl/meta.sql Regenerated SQL DDL plus updated inline documentation text for key/identifier and other comment formatting changes.
linkml_model/shex/meta.shex Regenerated Shex for meta, including prefix changes and updated dcterms:* predicate usage (now aliased).
linkml_model/rdf/validation.ttl Regenerated RDF/TTL for validation schema (prefix declarations, metamodel/generation metadata).
linkml_model/rdf/validation.model.ttl Regenerated RDF/TTL “model” variant for validation schema.
linkml_model/rdf/units.ttl Regenerated RDF/TTL for units schema (adds/updates declarations and metadata).
linkml_model/rdf/units.model.ttl Regenerated RDF/TTL “model” variant for units schema.
linkml_model/rdf/types.ttl Regenerated RDF/TTL for types schema (updated declarations/metadata).
linkml_model/rdf/types.model.ttl Regenerated RDF/TTL “model” variant for types schema.
linkml_model/rdf/meta.ttl Regenerated RDF/TTL for meta schema; includes added prefix definitions and updated slot docs/examples.
linkml_model/rdf/meta.model.ttl Regenerated RDF/TTL “model” variant for meta schema with the same propagated doc/prefix changes.
linkml_model/rdf/mappings.ttl Regenerated RDF/TTL for mappings schema (declarations/metadata).
linkml_model/rdf/mappings.model.ttl Regenerated RDF/TTL “model” variant for mappings schema.
linkml_model/rdf/extensions.ttl Regenerated RDF/TTL for extensions schema (metadata updates).
linkml_model/rdf/extensions.model.ttl Regenerated RDF/TTL “model” variant for extensions schema.
linkml_model/rdf/datasets.ttl Regenerated RDF/TTL for datasets schema (declarations/metadata).
linkml_model/rdf/datasets.model.ttl Regenerated RDF/TTL “model” variant for datasets schema.
linkml_model/rdf/annotations.ttl Regenerated RDF/TTL for annotations schema (metadata updates plus propagated annotation changes).
linkml_model/rdf/annotations.model.ttl Regenerated RDF/TTL “model” variant for annotations schema.
linkml_model/protobuf/meta.proto Regenerated protobuf definitions; includes minor comment formatting and updated descriptions.
linkml_model/meta.py Regenerated primary Python metamodel bindings for meta.yaml.
linkml_model/mappings.py Regenerated Python bindings for mappings schema (metamodel version/date updates).
linkml_model/jsonschema/meta.schema.json Regenerated JSON Schema with updated descriptions and constraints reflecting current meta.yaml.
linkml_model/jsonld/meta.jsonld Regenerated JSON-LD, including added prefix entries and updated slot documentation fields.
linkml_model/extensions.py Regenerated Python bindings for extensions schema (metamodel version/date updates).
linkml_model/datasets.py Regenerated Python bindings for datasets schema (metamodel version/date updates).
linkml_model/array.py Regenerated Python bindings for arrays schema (metamodel version/date updates).
linkml_model/annotations.py Regenerated Python bindings for annotations schema (metamodel version/date updates).

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

PREFIX bibo: <http://purl.org/ontology/bibo/>
PREFIX qudt: <http://qudt.org/schema/qudt/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX dc1: <http://purl.org/dc/terms/>
PREFIX bibo: <http://purl.org/ontology/bibo/>
PREFIX qudt: <http://qudt.org/schema/qudt/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX dc1: <http://purl.org/dc/terms/>
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.

2 participants