Skip to content
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

Difference between mappedTo and preferredMappedTo predicates? #155

Closed
dhimmel opened this issue Dec 29, 2020 · 3 comments
Closed

Difference between mappedTo and preferredMappedTo predicates? #155

dhimmel opened this issue Dec 29, 2020 · 3 comments

Comments

@dhimmel
Copy link

dhimmel commented Dec 29, 2020

The mappedTo and preferredMappedTo predicates provide the link between Supplemental Concept Records (SCRs) and Descriptors. I am wondering about what "preferred" means here.

From https://hhs.github.io/meshrdf/predicates.html

meshv:mappedTo is described as

Relates SupplementaryConceptRecords to Descriptors or DescriptorQualifierPairs. A Descriptor or DescriptorQualifierPair that is a parent (not the main parent; lacks an asterisk designation in the Source XML) for the SupplementaryConceptRecord and that is automatically added to the journal citation for which the SupplementaryConceptRecord is indexed. See also meshv:preferredMappedTo. CUI C025735 (Aeron) example: D004338

meshv:preferredMappedTo is described as:

Relates SupplementaryConceptRecords to Descriptors or DescriptorQualifierPairs. Designates a Descriptor or DescriptorQualifierPair that is a main parent (includes an asterisk designation in the Source XML) for the SupplementaryConceptRecord and that is automatically added to the journal citation for which the SupplementaryConceptRecord is indexed. meshv:preferredMappedTo is a subproperty of meshv:mappedTo. CUI C025735 (Aeron) example: D002164Q000031

It looks like the key part is "not the main parent; lacks an asterisk designation in the Source XML" and "includes an asterisk designation in the Source XML". What exactly is a main parent / asterisk parent?

For the Aeron example, it has multiple preferredMappedTo descriptors:

mappedTo (MeSH TopicalDescriptor)

preferredMappedTo (MeSH TopicalDescriptorMeSH AllowedDescriptorQualifierPair)

In what situations would someone want to differentiate between mappedTo and preferredMappedTo?

@bushmanb
Copy link

I referred your question to the head of the MeSH Unit at NLM and here is the response. I hope this helps answer your questions.

This all dates back to the printed Index Medicus(IM). To save on ink we would limit the number citations listed under a MeSH term to those where the Heading was both important and highly specific for the particular article. More general topics like “drug combinations” and/or ones that have very high indexing rates were left out Since we don’t publish IM anymore these designations morphed into “meshv:preferredMappedTo” (important and highly specific for the particular article) and just plain “meshv:mappedTo” which is usually categorical data like “drug combinations”. For example if you wanted to limit your search about some drug treatment to those drugs that include two or more compounds in the same pill. Finally we move the “*” to the qualifier in a descriptor/qualifier combination if the HM includes a qualifier. I guess this is to lend importance to the qualifier part of the combined HM.

@dhimmel
Copy link
Author

dhimmel commented Dec 29, 2020

Thanks @bushmanb and head of the MeSH Unit! What does "HM" stand for?

So in conclusion, the preferredMappedTo is for "important and highly specific" relations between the SCR and descriptor. Good to know.

Here are some examples below of both predicates:

preferredMappedTo examples

SPARQL Query (online):

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX meshv: <http://id.nlm.nih.gov/mesh/vocab#>
SELECT *
WHERE {
  ?child_uri meshv:preferredMappedTo ?parent_uri.
  ?child_uri rdfs:label ?child_label.
  ?parent_uri rdfs:label ?parent_label.
}
LIMIT 10
child_uri parent_uri child_label parent_label
mesh:C000611386 mesh:D000069447 tiotropium-olodaterol Tiotropium Bromide
mesh:C000611331 mesh:D000069474 sofosbuvir-velpatasvir drug combination Sofosbuvir
mesh:C000611657 mesh:D000075722 zbtb16a protein, zebrafish Promyelocytic Leukemia Zinc Finger Protein
mesh:C000611332 mesh:D000080662 glutathione peroxidase 4, mouse Phospholipid Hydroperoxide Glutathione Peroxidase
mesh:C000611681 mesh:D000607Q000031 2-(((8-hydroxy-5-nitroquinoline-7-yl)methyl)amino)acetonitrile Aminoacetonitrile/analogs & derivatives
mesh:C000610691 mesh:D001708Q000031 microcystbiopterin D Biopterin/analogs & derivatives
mesh:C000611373 mesh:D002126 Calcimol LC Calcium Hydroxide
mesh:C000610640 mesh:D002790 CYP-33E2 protein, C elegans Cholesterol 7-alpha-Hydroxylase
mesh:C000611422 mesh:D004061Q000031 2',4'-difluoro-4-hydroxy-N'-(2-pyridylmethylidene)biphenyl-3-carbohydrazide Diflunisal/analogs & derivatives
mesh:C000610654 mesh:D004076Q000031 14-anhydrodigoxigenin Digoxigenin/analogs & derivatives

mappedTo examples

Replace meshv:preferredMappedTo with meshv:mappedTo in query. Output:

child_uri parent_uri child_label parent_label
mesh2016:C011728 mesh2016:D000190 chromotrienine Actinomyces
mesh2016:C030015 mesh2016:D000190 corallomycin Actinomyces
mesh2016:C020038 mesh2016:D002040 dihydrobunolol dehydrogenase Levobunolol
mesh2016:C013602 mesh2016:D002483 methoxypropylcellulose Cellulose, Oxidized
mesh2016:C016828 mesh2016:D003023 Viccillin S (combination) Cloxacillin
mesh2016:C029443 mesh2016:D003450 cold agglutinins Cryoglobulins
mesh2016:C012604 mesh2016:D004009 versaclox Dicloxacillin
mesh2016:C023634 mesh2016:D004009 ampicillin-dicloxacillin mixture Dicloxacillin
mesh2016:C011744 mesh2016:D005486 5-deaza-FMN Flavin Mononucleotide
mesh2016:C023404 mesh2016:D005486 7-bromo-FMN Flavin Mononucleotide

@dhimmel dhimmel closed this as completed Dec 29, 2020
@bushmanb
Copy link

HM stands for Heading mapped to.

@bushmanb bushmanb reopened this Dec 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants