HHS / meshrdf

Code and documentation for the release of MeSH in RDF format
https://hhs.github.io/meshrdf/
75 stars 19 forks source link

2022 MeSH descriptor hierarchy contains a cycle with D054990 (Idiopathic Pulmonary Fibrosis) #194

Closed dhimmel closed 2 years ago

dhimmel commented 2 years ago

While working on https://github.com/related-sciences/nxontology-data/pull/1, I noticed a cycle in topical descriptors on the 2022 ontology:

ValueError: NXOntology requires a directed acyclic graph. Cycles found:
D054988 --> D054990 --> D054988

The issue is that D054988 (Idiopathic Pulmonary Fibrosis) is a superterm of itself (via meshv:broaderDescriptor relations), as seen at https://meshb.nlm.nih.gov/record/ui?ui=D054990:

image

Looking at the 2021 descriptors at https://meshb-prev.nlm.nih.gov/record/ui?ui=D054990, things look okay:

image

danizen commented 2 years ago

@dhimmel , I suggest about this particular issue you use the NLM Support Center. In this case, you don't need the knowledge base and should click the "Write to the help desk" button to report the issue. It could report it myself, but it will be better tracked in the system if you do it.

Once it is fixed in our internal MeSH editing system, it will flow through to both the MeSH Browser and MeSH RDF.

dhimmel commented 2 years ago

Okay, I wrote the help desk:

Your new case has been created. Case number is CAS-889148-R2F1P2

Will keep this issue up-to-date with replies. I like having a public issue like this, so other users with the same problem can reference it and also so I can refer to it in code comments.

bushmanb commented 2 years ago

I will also report this directly to the MeSH Team. Thank you very much.

dhimmel commented 2 years ago

Thanks @bushmanb! Guessing you are Barbara Bushman from the seminal 2015 work Creating the Authorized Version of MeSH in RDF. Nice to meet you.

dhimmel commented 2 years ago

I will also report this directly to the MeSH Team

Not sure if there is any way MeSH could create an internal test that would fail when cycles in the topical descriptor graph are detected. If so that would be a great way to make sure similar issues don't arise in the future.

bushmanb commented 2 years ago

@dhimmel That is me. Thank you for engaging with us. MeSH is supposed to have a validation for duplicates, so I am not exactly sure what happened here.

danizen commented 2 years ago

I could create such a test; but it would be better if the test is in the MeSH editing system to catch this earlier.

@dhimmel, it really helped a lot to reference the MeSH Browser - I would have had to validate it wasn't my processing code without that.

bushmanb commented 2 years ago

@dhimmel We have removed the duplication. It should take a day or two before it is reflected in the MeSH RDF.

dhimmel commented 2 years ago

Thanks! Will close since the cycle is gone in web UI:

image

dhimmel commented 2 years ago

@bushmanb and @danizen, just wanted to let you know that I keep receiving helpdesk responses for the ticket I opened with number CAS-889148-R2F1P2:

I replied to the first one that the issue is already fixed. Wanted to let you know in case there is some issue with the ticket system that is causing this to be repeatedly reviewed.