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
Although these have were all cleaned up around 2019, some MeSH descriptors used to contain parentheses, like "outcome assessment (health care)". These variants are still included in the entry terms. However, I am totally unable to get a match on these terms using either the SPARQL endpoint or the Lookup API. They do not generate an error, but retrieve an empty set--no matches. I noticed that neither option on the Swagger page used % encoding for the parentheses characters, so I tried replacing them manually in the generated URLS with %28 and %29, but this still yields an empty result.
We have only three of these in our dataset, so I think we will end up just manually alter them, but I would still like to know if there is something I could be doing that would make these function as expected.
The text was updated successfully, but these errors were encountered:
Smart efforts on your part. Terms have a preferred label, meshv:prefLabel, and zero or more alternate labels, meshv:altLabel. See https://hhs.github.io/meshrdf/terms. Our string literals also use a Language code, which believe is likely to be the issue in your case. In any case, despite the clean-up effort in 2019, there are definitely terms still in MeSH containing parenthesis in their labels - https://id.nlm.nih.gov/mesh/T082417.html is one example.
I can query for it by using a string literal, but even though we do not have any alternate languages of MeSH, we still use language-typed string literals to allow for this in fiture. That is likely the issue you have run into. Here is an example query:
Without the "@en" after the label, it would not match.
Another possible issue - I have told others to do fast string search for terms using bif:contains, and may have told you - not sure. bif:contains is a fast boolean keyword search, but since it searches keywords, it will not match punctuation. Text information retrieval has it easy - one can decide to ignore punctuation, and thus argue forever about the definition of "keyword"! In this case, arguing is fruitless because the powerful keyword seach bif:contains comes built-in to Virtuoso, and we have not had the resources to chart our own course for this product.
If none of these suggestions help, consider downloading our MeSH database locally. Once it is local, you can also use edit distance metrics such as Levenshtein depending on your use case.
Although these have were all cleaned up around 2019, some MeSH descriptors used to contain parentheses, like "outcome assessment (health care)". These variants are still included in the entry terms. However, I am totally unable to get a match on these terms using either the SPARQL endpoint or the Lookup API. They do not generate an error, but retrieve an empty set--no matches. I noticed that neither option on the Swagger page used % encoding for the parentheses characters, so I tried replacing them manually in the generated URLS with %28 and %29, but this still yields an empty result.
We have only three of these in our dataset, so I think we will end up just manually alter them, but I would still like to know if there is something I could be doing that would make these function as expected.
The text was updated successfully, but these errors were encountered: