You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note: The feature requested here may not actually belong to the ODK. Other projects, for example projects related to SSSOM, may be better suited to provide the feature. But we need to describe the feature before we can even decide where it should be implemented.
We need a way to easily check whether changes to a SSSOM mapping set can break things when two or more ontologies are merged together (with the SSSOM mapping sets providing the bridging axioms between the ontologies).
Let’s say the FBbt editor makes a change to the mappings between FBbt and CL. Because FBbt has a lot of non-disjointness axioms to help ensure its internal consistency (whereas CL and Uberon do not), any such change could potentially create problems downstream when FBbt and CL are merged (for example in Ubergraph).
Currently, testing the impact of such a change requires going through complicated hoops:
in FBbt:
make a mock release
in CL:
manually import the FBbt-provided SSSOM file (overriding the default behaviour of CL’s Makefile, which attempts to always download the SSSOM file from FBbt’s GitHub repository – here, we want to test before committing anything to FBbt’s repo, so before anything is available on GitHub)
re-generate the mappings.owl component
make a mock release
In Uberon (Uberon is involved even for FBbt-to-CL mappings, because the bridge generation logic is in Uberon):
as for CL, manually import the FBbt-provided SSSOM file
manually import the mock CL release (again overriding the default behaviour of Uberon’s Makefile, which attempts to get CL from its GitHub repository)
make a mock Uberon release
generate the bridges
Elsewhere, in a ad-hoc test directory:
Merge the mock releases of FBbt, CL, and Uberon, along with the uberon-to-fbbt-bridge and cl-to-fbbt-bridge
Check the resulting merged ontology for inconsistency and unsatisfiable classes.
This is ugly, needlessly complicated, error-prone, and only means that such a check will not be performed as often as it should be. As a result, mapping-generated inconsistencies will most often only be detected when someone does try to merge the involved ontologies (e.g. Ubergraph), which may very well happen months after the faulty mapping change was introduced.
We need a simple method to say, “take these two (or more) ontologies, take these mapping sets between these ontologies, merge everything together (generating the bridging axioms from the mapping sets as needed), and tell me whether the result is consistent.”
The text was updated successfully, but these errors were encountered:
We need a simple method to say, “take these two (or more) ontologies, take these mapping sets between these ontologies, merge everything together (generating the bridging axioms from the mapping sets as needed), and tell me whether the result is consistent.”
FYI, this is how I am currently doing that to check the mappings between FBbt, Uberon, and CL (relying on a custom-built ROBOT with plugins support and my SSSOM plugin):
This could be generalised into a ODK-supported thing: an ontology could declare which foreign ontologies they want their mappings to be checked against, and provide a ruleset file; from there the ODK could take care of the rest.
Note: The feature requested here may not actually belong to the ODK. Other projects, for example projects related to SSSOM, may be better suited to provide the feature. But we need to describe the feature before we can even decide where it should be implemented.
We need a way to easily check whether changes to a SSSOM mapping set can break things when two or more ontologies are merged together (with the SSSOM mapping sets providing the bridging axioms between the ontologies).
Let’s say the FBbt editor makes a change to the mappings between FBbt and CL. Because FBbt has a lot of non-disjointness axioms to help ensure its internal consistency (whereas CL and Uberon do not), any such change could potentially create problems downstream when FBbt and CL are merged (for example in Ubergraph).
Currently, testing the impact of such a change requires going through complicated hoops:
mappings.owl
componentThis is ugly, needlessly complicated, error-prone, and only means that such a check will not be performed as often as it should be. As a result, mapping-generated inconsistencies will most often only be detected when someone does try to merge the involved ontologies (e.g. Ubergraph), which may very well happen months after the faulty mapping change was introduced.
We need a simple method to say, “take these two (or more) ontologies, take these mapping sets between these ontologies, merge everything together (generating the bridging axioms from the mapping sets as needed), and tell me whether the result is consistent.”
The text was updated successfully, but these errors were encountered: