Skip to content

Conversation

@gouttegd
Copy link
Contributor

Resolves [#477]

  • docs/ have been added/updated if necessary
  • make test has been run locally
  • 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/
  • provide a link to a valid example in the see_also field of the linkml model
  • update the "Model changes across versions" (in src/docs/spec-models.md) accordingly
  • run SSSOM-Py test suite against the updated model

This PR adds a new cardinality value of 0:0, to be used for mapping records where both the subject_id and the object_id are sssom:NoTermFound. Such records are allowed and may be used to represent the fact that there is no overlap between a subject vocabulary and an object vocabulary.

The spec is updated to explain how mappings involved sssom:NoTermFound should be handled when computing cardinality values.

We also try to explain a bit more what the different cardinality values mean exactly, and provide two examples:

  • one that illustrates all possible cardinality values between real mappings (1:1, 1:n, n:1, n:n);
  • one that illustrates the special cases where the subject_id and/or the object_id is sssom:NoTermFound.

closes #477

This commit adds a new cardinality value of `0:0`, to be used for mapping
records where both the `subject_id` and the `object_id` are
sssom:NoTermFound. Such records are allowed and may be used to represent
the fact that there is no overlap between a subject vocabulary and an
object vocabulary.

We also try to explain a bit more what the different cardinality values
mean exactly, and provide two examples:

* one that illustrates all possible cardinality values between real
  mappings (1:1, 1:n, n:1, n:n);
* one that illustrates the special cases where the subject_id and/or the
  object_id is sssom:NoTermFound.

closes #477
@gouttegd gouttegd self-assigned this Aug 11, 2025
@gouttegd gouttegd requested a review from matentzn August 11, 2025 19:45
@gouttegd gouttegd force-pushed the cardinality-for-unmapped-entities branch from 977dbfc to 909d2af Compare August 12, 2025 06:28
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 great to me, some minor comments, let me know what you think.

Co-authored-by: Nico Matentzoglu <[email protected]>
matentzn
matentzn previously approved these changes Aug 12, 2025
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 great! Thanks a ton!

@matentzn matentzn requested a review from ehartley August 12, 2025 13:35
ehartley
ehartley previously approved these changes Aug 17, 2025
Copy link
Contributor

@ehartley ehartley left a comment

Choose a reason for hiding this comment

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

There is one minor typo, but otherwise everything looks good!

Co-authored-by: Emily Hartley <[email protected]>
@gouttegd gouttegd requested review from ehartley and matentzn August 17, 2025 19:29
@matentzn matentzn merged commit 45d2a92 into master Aug 18, 2025
4 checks passed
@matentzn matentzn deleted the cardinality-for-unmapped-entities branch August 18, 2025 08:05
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.

Deprecate the 1:0 and 0:1 values in the mapping_cardinality_enum

4 participants