Skip to content
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

Model propagatable slots #371

Merged
merged 3 commits into from
Jul 19, 2024
Merged

Model propagatable slots #371

merged 3 commits into from
Jul 19, 2024

Conversation

gouttegd
Copy link
Contributor

Resolves [#305]

  • docs/ have been added/updated if necessary
  • make test has been run locally
  • tests have been added/updated (not applicable)
  • CHANGELOG.md has been updated.

If you are proposing a change to the SSSOM metadata model, you must

  • provide a full, working and valid example in examples/ (not applicable: no new example needed as the change only affects how some slots should be interpreted; it does not add or remove slots, nor does it change how the propagated slots are used)
  • provide a link to the related GitHub issue in the see_also field of the linkml model
  • provide a link to a valid example in the see_also field of the linkml model (not applicable, same reason as above)

This PR finalises the fix to #305, by explicitly specifying, directly within the LinkML model, which slots are considered “propagatable” (previously this was only informally described in the spec, since #368). This is done by:

  • adding a “metamodel extension class“ (sssom:Propagatable) with a single boolean-ranged attributed propagated;
  • amending the slots that must be considered propagatable by making them instantiate the sssom:Propagatable extension.

This commit adds a "propagated" annotation to all slots that should be
considered "propagatable", that is, all slots that, when set at the
level of the mapping set, can (and should) be propagatated down to the
level of individual mappings.

The presence of the annotation in the model replaces the list available
in the src/docs/spec-model.md document as the authoritative source for
which slots are propatagable or not. The aforementioned list remains in
place, but only as a convenience for readers of the spec.
Update the section about "propagatable slots" to refer to the LinkML
model, and the newly added "propagated" annotation, as the source of
truth for which slots are considered propagatable.
Mention the newly added concept of "propagatable slots" in the CHANGELOG
for the next release.

Also fix the CHANGELOG, that didn't contain an entry for the last two
releases.
@gouttegd gouttegd requested a review from matentzn July 11, 2024 12:05
@gouttegd gouttegd self-assigned this Jul 11, 2024
@gouttegd gouttegd added enhancement New feature or request documentation Improvements or additions to documentation labels Jul 11, 2024
@hrshdhgd hrshdhgd self-requested a review July 18, 2024 16:18
Copy link
Contributor

@hrshdhgd hrshdhgd left a comment

Choose a reason for hiding this comment

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

Looks good to me

Copy link
Collaborator

@matentzn matentzn left a comment

Choose a reason for hiding this comment

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

Looks good. Thank you!

@gouttegd gouttegd merged commit 0af8c6f into master Jul 19, 2024
3 checks passed
@gouttegd gouttegd deleted the model-propagatable-slots branch July 19, 2024 15:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants