Neuinfo.org URLs not resolving
bgyori opened this issue · 9 comments
We found a few prefixes related to neuinfo.org where identifiers aren't resolving correctly with the following URL patterns:
- nlx.cell: http://uri.neuinfo.org/nif/nifstd/nlx_cell_$1
- nlx.chem: http://uri.neuinfo.org/nif/nifstd/nlx_chem_$1
- nlx.dys: http://uri.neuinfo.org/nif/nifstd/nlx_dys_$1
For example, http://uri.neuinfo.org/nif/nifstd/nlx_chem_90801 gives a 404 error.
@tgbugs since you are listed as a contact person for these resources, do you have any suggestions what we could do? Are these URLs expected to work or should we change to a different URL pattern?
I will look into those to see what is happening (ccing @jgrethe, @smtifahim).
It looks like your code might be stripping a leading zero due to a conversion to integer and back e.g. http://uri.neuinfo.org/nif/nifstd/nlx_chem_090801 is the correct form.
Thanks @tgbugs, it seems like the example IDs were not correctly curated when they were originally added to the Bioregistry. @tanayshah2 could you look at the example IDs for the above 3 resources and see if they can be resolved if we add back the missing leading 0s? If that works, we can just update them in bioregistry.json.
Thanks, @tgbugs, we were able to resolve the issues with nlx.cell and nlx.chem. However, there seems to still be an issue with our example ID for nlx.dys (20090303), as http://uri.neuinfo.org/nif/nifstd/nlx_dys_20090303 leads to a 404 error. Adding the leading 0 doesn't resolve the issue in this case, do you happen to have any suggestions for potential fixes here?
@tgbugs could you check the comment above on one remaining issue related to nlx.dys? Thanks!
@tgbugs, @jgrethe, @smtifahim - would you mind taking a quick look at this so we can wrap up this issue? Thanks!
Will investigate.
In summary, I would suggest updating the test url to http://uri.neuinfo.org/nif/nifstd/nlx_dys_20090602. Not all of the old ontology classes were correctly ported to neurolex, and thus not to interlex. See SciCrunch/NIF-Ontology#223 and SciCrunch/NIF-Ontology#124 for reference. The general issue of ontology ids not being mapped in interlex should be resolved as part of our work on the next version of interlex.
In detail:
The test class in question is present in the ontology, the curie NLXDYS:20090303
expands to http://uri.neuinfo.org/nif/nifstd/nlx_dys_20090303, however the mapping to an interlex term is not present in the file that maps NIFSTD ids to ILX: https://github.com/SciCrunch/NIF-Ontology/blob/d22e0ff0146aca5971c0702917a1f8e22fa787fa/ttl/generated/NIFSTD-ILX-mapping.ttl#L21473-L21493
https://github.com/tgbugs/pyontutils/blob/master/nifstd/nifstd_tools/mapnlxilx.py the file that generates the mappings
https://github.com/tgbugs/pyontutils/blob/master/nifstd/resolver/make_config.py the file the updates the nginx config for the redirects
Present in ontology.
https://github.com/SciCrunch/NIF-Ontology/blob/d22e0ff0146aca5971c0702917a1f8e22fa787fa/ttl/NIF-Dysfunction.ttl#L5934
https://github.com/SciCrunch/NIF-Ontology/blob/d22e0ff0146aca5971c0702917a1f8e22fa787fa/ttl/NIF-DOID-Bridge.ttl#L958
Not present in interlex however, which is why the mapping for the redirect is not present.
http://purl.obolibrary.org/obo/MONDO_0005139 has the mapping
https://scicrunch.org/scicrunch/interlex/view/ilx_0764145 maps to mondo but not to the NLXDYS term directly