Table of Contents |
---|
Business relevance
Whereas CQ1 starts with an active moiety, and identifies all substances having that common active moiety, CQ2 starts with a substance and identifies the active moiety for the substance. A substance is defined as a matter of defined composition that has discrete existence, whose origin may be biological, mineral or chemical. A moiety is an entity within a substance that has a complete and continuous molecular structure. The strength of a pharmaceutical product is often based on what is referred to as the active moiety of the molecule, responsible for the physiological or pharmacological action of the drug substance. Linking a substance and it's active moiety not only gives immediate clarity on how the substance potentially exerts it's pharmacological activity, but also (due to the way the ontology is modeled) gives an overview of how active moieties can be differently defined under different contexts.
Diagram for model pattern
Drawio | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Diagram 1: Simplified version showing the linking of a substance to an active moiety. The property "has active moiety" uses a shortcut for the pattern shown in Figure 2.
Drawio | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Diagram 2: Linking a substance to an active moiety. This patterns allows traversing the model to find all substances that participate in some substance constituency whose active moiety role is played by some moiety (which in the regulatory context is another substance). * A substance constituency defines some substance based on its relationship(s) to some other substance (ingredient) or moiety, potentially in some amount, in some context.
Test Data
GSRS
SPARQL Query
https://github.com/edmcouncil/idmp/blob/master/etc/CQ/Example/cq2.sparql
# CQ 2: What is the active moiety of <substance y>?
prefix idmp-sub: <https://spec.pistoiaalliance.org/idmp/ontology/ISO/ISO11238-Substances/>
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
select distinct ?activeMoiety ?activeMoietyLabel
where {
# Bind the name we want into a variable
BIND("amlodipine mesylate monohydrate" AS ?substanceLabel )
# Find a substance or subclass of substance
?substanceType rdfs:subClassOf* idmp-sub:Substance .
?substanceUri a ?substanceType .
# With a label for substance y
?substanceUri rdfs:label ?substanceLabel .
# Link the substance to the active moiety
?substanceUri idmp-sub:hasActiveMoiety ?activeMoiety .
?activeMoiety a ?activeMoietyType .
?activeMoiety rdfs:label ?activeMoietyLabel .
}