Categories
Medicine Ontology Pharmacovigilance toolkit SPARQL

Pharmacological Actions

Interface to National Library of Medicine MESH SPARQL endpoint to obtain the pharmacological action of a medication, using the following type of query:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX meshv: <http://id.nlm.nih.gov/mesh/vocab#>
PREFIX mesh: <http://id.nlm.nih.gov/mesh/>
PREFIX mesh2020: <http://id.nlm.nih.gov/mesh/2020/>
PREFIX mesh2019: <http://id.nlm.nih.gov/mesh/2019/>
PREFIX mesh2018: <http://id.nlm.nih.gov/mesh/2018/>
PREFIX : <urn:ex:>
SELECT DISTINCT ?paLabel
FROM <http://id.nlm.nih.gov/mesh>
WHERE {
?s ?p ?n . 
?possible_concepts (:|!:){,3} ?s . 
BIND (?possible_concepts as ?fresh_possible_concepts) .
?fresh_possible_concepts (:|!:){,3} ?n . 
?fresh_possible_concepts rdf:type meshv:TopicalDescriptor .
?fresh_possible_concepts meshv:pharmacologicalAction ?pa .
?pa rdfs:label ?paLabel .} '

Compare the results obtained via MESH with results obtainable via US FDA National Drug Code (NDC) Directory data:

MESH results for ‘Stribild’:

  • Anti-HIV Agents

US FDA NDC results for ‘Stribild’:

  • Mechanism of Action
    • HIV Integrase Inhibitors
    • Cytochrome P450 2C9 Inducers
    • Cytochrome P450 3A Inhibitors
    • P-Glycoprotein Inhibitors
    • Cytochrome P450 2D6 Inhibitors
    • Organic Anion Transporting Polypeptide 1B1 Inhibitors
    • Organic Anion Transporting Polypeptide 1B3 Inhibitors
    • Breast Cancer Resistance Protein Inhibitors
    • Nucleoside Reverse Transcriptase Inhibitors
    • Nucleoside Reverse Transcriptase Inhibitors
  • Established Pharmacological Class
    • Human Immunodeficiency Virus Integrase Strand Transfer Inhibitor
    • Cytochrome P450 3A Inhibitor
    • Human Immunodeficiency Virus Nucleoside Analog Reverse Transcriptase Inhibitor
    • Human Immunodeficiency Virus Nucleoside Analog Reverse Transcriptase Inhibitor
    • Hepatitis B Virus Nucleoside Analog Reverse Transcriptase Inhibitor
  • Chemical Structure
    • Nucleosides

Categories
Ontology Pharmacovigilance toolkit SPARQL

Medical Synonyms

Example interface to the National Library of Medicine MESH SPARQL endpoint, which returns medical synonyms using the following type of query:


PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX meshv: <http://id.nlm.nih.gov/mesh/vocab#>
PREFIX mesh: <http://id.nlm.nih.gov/mesh/>
PREFIX mesh2020: <http://id.nlm.nih.gov/mesh/2020/>
PREFIX mesh2019: <http://id.nlm.nih.gov/mesh/2019/>
PREFIX mesh2018: <http://id.nlm.nih.gov/mesh/2018/>
PREFIX : <urn:ex:>


SELECT DISTINCT ?synonyms
FROM <http://id.nlm.nih.gov/mesh>
WHERE {

  # Which direct triples ?s match the query string?
  ?s ?p ?n.
  # Find ancestors a few levels above. The limiting numbers {,3} mean
  # only consider 3 levels at most - this is important as the number
  # of ancestors/descendants are potentially large.
  ?possible_concepts (:|!:){,3} ?s.
  # Of these ancestors, which have a direct path to the query string?
  ?possible_concepts (:|!:){,3} ?n.
  # ..and of these, we want concepts because they contain
  #   synonyms of interest
  [] meshv:preferredConcept ?possible_concepts.
  # Find all the children of these concepts
  ?possible_concepts (:|!:){,3} ?all_descendants.
  # Finally, enumerate labels of these concepts as synonyms of the
  # input string
  ?all_descendants meshv:label|meshv:prefLabel|rdfs:label|meshv:altLabel ?synonyms.}