-
Notifications
You must be signed in to change notification settings - Fork 0
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
Implement a script to load SSSOM mappings to AgroPortal #265
Comments
Exemple of mappings in AgroPortal : SSSOM specification: https://mapping-commons.github.io/sssom/Mapping/
|
Hi. I have looked at @jonquet 's proposal for Agroportal to some and I'd like to suggest some modifications and additional elements. :
@jonquet you can have a look at the whole mapping in Sonia's spreadsheet used to test SSSOM on D2KAB's mapping use cases (3d tab). |
I remember now, you made that issue here: From a cursory look I think most elements look good. These are questionable:
|
Could you please clarify the distinction between
|
Moved your question here: mapping-commons/sssom#202 |
Todo
Resources |
@syphax-bouazzouni please use this TEST file : https://docs.google.com/spreadsheets/d/1EpttUuJNWmp2up4SXDcJrc8mtlvZhyjs/edit?usp=sharing&ouid=101729640835482598083&rtpof=true&sd=true Note that
I think it's a good start. |
Columns in sssom toolkit are sorted by whatever the spec prescribes: https://github.com/mapping-commons/sssom/blob/master/src/sssom_schema/schema/sssom_schema.yaml#L473 - but only when using the
If you see any case that is not permitted by the spec but you think is useful (where a mappings_set element goes into a column or a mapping element goes in the mappings_set), let us know. There is a new feature in sssom py (not released yet on pypi but merged on master) which is |
After discussion and based on the examples we are suggesting to implement the following correspondences:
To address the problem of the direction of the mapping that is lost; we shall work on adding in the Mapping model in OntoPortal new attributes to encode the subject_source and object_source respectively subject_source_id and _object_source_id Then the loading script will have to resolve the ontology URIs (stored in the 2 new fields) to the OntoPortal IDs. |
@matentzn @jgraybeal We are thinking to implement the "SSSOM2OntoPortal converter" into the sssom-py tool here : Note the converter will be generic to produce a JSON output compliant with any OntoPortal instance however, at loading time we will have another loading script that will resolve the ontology IDs to the local ontology IDs (acronyms) in the portal concerned. What do you think? |
That would be amazing. Both ways would probably be even more amazing :) |
I'm having a little trouble fully grokking the directionality of the correspondences, I think I may need a walkthrough at some point. And of course your mapping model is not the same as BioPortal's any more, or the other OntoPortals. So maybe that's not an issue, but I think it deserves a bit of thought. As does the 'figure out which ontology to use' step. |
Hi @graybeal, To give you more details about the directionality issue, The SSSOM mappings models are directional from the start node (subject_id) to the end node (object_id). Whereas in the ontoportal model we don't it is just a link between two classes and with it, we can't figure out which class is the origin. The solution that we propose is : Then for our model that is different from the base one, I think it will work because we are still backward compatible with the base model and the import module that we will develop (it is yet developed but it needs some changes) will be generic to work in the base model Hi @matentzn you can find a first (working) version of the "SSSOM2OntoPortal converter" here : Finally, we will |
Hi @matentzn We will be working on this too a bit later. Not in the sssom-py tool but directly in our API (using a proxy functionality that we have already sued to produce specific formats). We need to do the conversion from OntoPortal format to SSSOM on our side because some information (e.g., class names) are not in the mapping itself but can be populated by the portal.
Hi @graybeal This is actually not the case. AgroPortal's mapping representation is the same that OntoPortal. We have just added a couple of feature sin the past to host "external" mappings in AgroPortal too (i.e., mappings which only one of the 2 classes mapped is in AgroPortal). @syphax-bouazzouni Amazing reactivity to develop the converter, great job! |
Before doing #255 we will have to create a script to load SSOM mappings into AgroPortal.
This is related to D2KAB WP2.
The correspondences between the two format have been discussed and captured (Clement's note) with @saubin78.
CCing @graybeal @matentzn and @cmungall for information and followup.
The text was updated successfully, but these errors were encountered: