mapping-commons/sssom

Breaking change: mapping justification, curation rules

matentzn opened this issue · 1 comments

Before moving to SSSOM version 1.0. I would like to suggest one major breaking change for SSSOM. This is coming out of our growing experience how mapping sets are being used moving forward: Let's get this right this time!

Summary:

  • change match_type to mapping_justification (issue). A mapping justification is an action (or the written representation of that action) of showing a mapping to be right or reasonable. This is to:
    • get rid of the confusion match/mapping dichotomy (thanks @graybeal to an excellent discussion clarifying this)
    • solidify the core data model of SSSOM to be a mapping (subject, predicate, object) plus a justification for the mapping, which can be anything from a human curator decision to a tool match
    • Other groups have been using mapping justifications all along #85
  • move mapping_justification from an enum (HumanCurated) to a proper controlled vocabulary (vocab:HumanCurated) #141
    • There will be many more justifications than the few we have already covered, and it is easier to manage these in a controlled vocabulary than an enum of a datamodel.
  • Explicitly introduce the notion of curation_rule as a separate element that applies (mostly or exclusively) to Human-curated mappings. While closely related, a mapping justification would, as @AlasdairGray describes here be the application of the curation rule in a specific instance with details of the parameters that were used. See here for an example discussion on mapping rules in the area of disease and phenotypes.

I expect a lengthy discussion here so feel free to weigh in!

Closing this as the only thing that remains to be done is #166