-
Notifications
You must be signed in to change notification settings - Fork 28
Add cardinality_scope slot.
#476
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
Conversation
Add a new mapping record slot called `cardinality_scope`, intended to precise the meaning of the value of the `mapping_cardinality` slot. If empty, it means that the cardinality is relative to the entire set (which corresponds to the current definition of `mapping_cardinality`, and therefore ensures backwards compatibility). If non-empty, it is expected to be a list of slots that are used to define the subset (the "scope") of mapping records in which the cardinality has been computed. For example, a cardinality scope of (`predicate_id`, `object_source`) means that the cardinality is computed over the subset of mapping records that have the same predicate and whose objects come from the same source. The new slot is propagatable, because it is assumed that in most mapping sets, the cardinality for all records will be computed in the same way (though there's no obligation for that), and so all records will share the same scope.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a much welcome clarification of that field..
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All the changes look good. My only suggestion is to update the list of propagatable slots in the spec-model.md file.
Resolves [#467]
docs/have been added/updated if necessarymake testhas been run locally[ ] tests have been added/updated (if applicable)If you are proposing a change to the SSSOM metadata model, you must
examples/see_alsofield of the linkml modelsee_alsofield of the linkml modeladded_inannotationThis PR adds a new mapping record slot called
cardinality_scope, intended to precise the meaning of the value of themapping_cardinalityslot.If empty, it means that the cardinality is relative to the entire set (which corresponds to the current definition of
mapping_cardinality, and therefore ensures backwards compatibility). If non-empty, it is expected to be a list of slots that are used to define the subset (the "scope") of mapping records in which the cardinality has been computed.For example, a cardinality scope of (
predicate_id,object_source) means that the cardinality is computed over the subset of mapping records that have the same predicate and whose objects come from the same source.The new slot is propagatable, because it is assumed that in most mapping sets, the cardinality for all records will be computed in the same way (though there's no obligation for that), and so all records will share the same scope.