Modeling patterns, developed in response to recurring design problems, provide a well-proven, common solution for encapsulating knowledge, achieved through the use of effective naming, organizing and reasoning of knowledge. The example below demonstrates how established modeling patterns can be represented in the structure of the IDMP Ontology, using the publicly available GSRS data on Amlodipine (https://gsrs.ncats.nih.gov/ginas/app/beta/substances/1J444QC288).
Note: To keep things simple, in this example Amlodipine is modelled as an instance of idmp:Substance (i.e., with a rdf:type relationship).
Amlodipine example
The following block of code combines those that are shown in the substance, substance names, and substance identifiers sections below, which give a better depiction of how the different entities are related.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix cmns-av: <https://www.omg.org/spec/Commons/AnnotationVocabulary/>.
@prefix cmns-cls: <https://www.omg.org/spec/Commons/Classifiers/> .
@prefix cmns-dsg: <https://www.omg.org/spec/Commons/Designators/> .
@prefix cmns-id: <https://www.omg.org/spec/Commons/Identifiers/> .
@prefix cmns-txt: <https://www.omg.org/spec/Commons/TextDatatype/> .
@prefix cmns-ra: <https://www.omg.org/spec/Commons/RegistrationAuthorities/> .
@prefix idmp-sub: <https://spec.pistoiaalliance.org/idmp/ontology/ISO/ISO11238-Substances/> .
@prefix idmp-ra: <https://spec.pistoiaalliance.org/idmp/ontology/ISO/ISO11238-RegistrationAuthorities/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix gsrs: <https://gsrs.ncats.nih.gov/api/v1/substances/> .
idmp-sub:ChemicalSubstance
rdf:type owl:Class ;
rdfs:label "chemical substance" ;
skos:definition "single substance that can be described as a stoichiometric or non-stoichiometric single molecular entity and is not a protein, nucleic acid or polymer substance" .
gsrs:1J444QC288
rdf:type idmp-sub:ChemicalSubstance ;
rdfs:label "AMLODIPINE" ;
cmns-dsg:hasName <https://gsrs.ncats.nih.gov/api/v1/substances/1J444QC288/f7a0a700-a9e5-4be8-a615-7f4e271c8f00> ;
cmns-id:isIdentifiedBy <https://data.pistoiaalliance.org/EVMPD/SUB05467MIG> .
<https://gsrs.ncats.nih.gov/api/v1/substances/1J444QC288/f7a0a700-a9e5-4be8-a615-7f4e271c8f00>
rdf:type idmp-sub:SubstanceName ;
cmns-txt:hasTextValue "3-ETHYL 5-METHYL (+/-)-2-((2-AMINOETHOXY)METHYL)-4-(O-CHLOROPHENYL)-1,4-DIHYDRO-6-METHYL-3,5-PYRIDINEDICARBOXYLATE" ;
cmns-cls:isClassifiedBy idmp-ra:IUPACName .
idmp-sub:SubstanceName
rdf:type owl:Class ;
rdfs:label "substance name" ;
skos:definition "name or company code associated with the substance" .
idmp-ra:IUPACName
rdf:type idmp-sub:SubstanceNameClassifier ;
rdfs:label "IUPAC name" .
idmp-sub:SubstanceNameClassifier
rdf:type owl:Class ;
rdfs:label "substance name classifier" .
<https://data.pistoiaalliance.org/EVMPD/SUB05467MIG>
rdf:type idmp-ra:EudraVigilanceCode ;
cmns-txt:hasTextValue "SUB05467MIG" ;
cmns-ra:isRegisteredIn idmp-ra:ExtendedEudraVigilanceMedicinalProductDictionary ;
cmns-ra:hasRegistrationAuthority idmp-ra:EuropeanMedicinesAgencyRegistrationAuthority .
idmp-ra:EudraVigilanceCode
rdfs:subClassOf owl:Class ;
rdfs:subClassOf idmp-sub:SubstanceCode ;
rdfs:label "EudraVigilance code" ;
cmns-av:abbreviation "EV code" .
idmp-sub:SubstanceCode
rdf:type owl:Class ;
rdfs:subClassOf cmns-ra:RegisteredIdentifier ;
rdfs:label "substance code" .
cmns-ra:RegisteredIdentifier
rdf:type owl:Class ;
rdfs:label "registered identifier" ;
skos:definition "contextual identifier that is registered in a registry by, or on behalf of, a registration authority according to some registration scheme" .
idmp-ra:ExtendedEudraVigilanceMedicinalProductDictionary
rdf:type idmp-ra:Registry ;
rdfs:label "eXtended EudraVigilance Medicinal Product Dictionary" ;
cmns-av:abbreviation "XEVMPD" .
idmp-ra:Registry
rdf:type owl:Class ;
rdfs:label "registry" .
idmp-ra:EuropeanMedicinesAgencyRegistrationAuthority
rdf:type idmp-ra:RegistrationAuthority ;
rdfs:label "European Medicines Agency Registration Authority" .
idmp-ra:RegistrationAuthority
rdf:type owl:Class ;
rdfs:label "registration authority" .
Substance
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix idmp-sub: <https://spec.pistoiaalliance.org/idmp/ontology/ISO/ISO11238-Substances/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix gsrs: <https://gsrs.ncats.nih.gov/api/v1/substances/> .
idmp-sub:ChemicalSubstance
rdf:type owl:Class ;
rdfs:label "chemical substance" ;
skos:definition "single substance that can be described as a stoichiometric or non-stoichiometric single molecular entity and is not a protein, nucleic acid or polymer substance" .
gsrs:1J444QC288
rdf:type idmp-sub:ChemicalSubstance ;
rdfs:label "AMLODIPINE" .

Substance Names
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix cmns-cls: <https://www.omg.org/spec/Commons/Classifiers/> .
@prefix cmns-dsg: <https://www.omg.org/spec/Commons/Designators/> .
@prefix cmns-txt: <https://www.omg.org/spec/Commons/TextDatatype/> .
@prefix idmp-sub: <https://spec.pistoiaalliance.org/idmp/ontology/ISO/ISO11238-Substances/> .
@prefix idmp-ra: <https://spec.pistoiaalliance.org/idmp/ontology/ISO/ISO11238-RegistrationAuthorities/> .
@prefix gsrs: <https://gsrs.ncats.nih.gov/api/v1/substances/> .
gsrs:1J444QC288
rdf:type idmp-sub:ChemicalSubstance ;
rdfs:label "AMLODIPINE" ;
cmns-dsg:hasName <https://gsrs.ncats.nih.gov/api/v1/substances/1J444QC288/f7a0a700-a9e5-4be8-a615-7f4e271c8f00> .
<https://gsrs.ncats.nih.gov/api/v1/substances/1J444QC288/f7a0a700-a9e5-4be8-a615-7f4e271c8f00>
rdf:type idmp-sub:SubstanceName ;
cmns-txt:hasTextValue "3-ETHYL 5-METHYL (+/-)-2-((2-AMINOETHOXY)METHYL)-4-(O-CHLOROPHENYL)-1,4-DIHYDRO-6-METHYL-3,5-PYRIDINEDICARBOXYLATE" ;
cmns-cls:isClassifiedBy idmp-ra:IUPACName .
idmp-sub:SubstanceName
rdf:type owl:Class ;
rdfs:label "substance name" ;
skos:definition "name or company code associated with the substance" .
idmp-ra:IUPACName
rdf:type idmp-sub:SubstanceNameClassifier ;
rdfs:label "IUPAC name" .
idmp-sub:SubstanceNameClassifier
rdf:type owl:Class ;
rdfs:label "substance name classifier" .

Substance Identifiers
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix cmns-av: <https://www.omg.org/spec/Commons/AnnotationVocabulary/>.
@prefix cmns-id: <https://www.omg.org/spec/Commons/Identifiers/> .
@prefix cmns-txt: <https://www.omg.org/spec/Commons/TextDatatype/> .
@prefix cmns-ra: <https://www.omg.org/spec/Commons/RegistrationAuthorities/> .
@prefix idmp-sub: <https://spec.pistoiaalliance.org/idmp/ontology/ISO/ISO11238-Substances/> .
@prefix idmp-ra: <https://spec.pistoiaalliance.org/idmp/ontology/ISO/ISO11238-RegistrationAuthorities/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix gsrs: <https://gsrs.ncats.nih.gov/api/v1/substances/> .
gsrs:1J444QC288
rdf:type idmp-sub:ChemicalSubstance ;
rdfs:label "AMLODIPINE" ;
cmns-id:isIdentifiedBy <https://data.pistoiaalliance.org/EVMPD/SUB05467MIG> .
<https://data.pistoiaalliance.org/EVMPD/SUB05467MIG>
rdf:type idmp-ra:EudraVigilanceCode ;
cmns-txt:hasTextValue "SUB05467MIG" ;
cmns-ra:isRegisteredIn idmp-ra:ExtendedEudraVigilanceMedicinalProductDictionary ;
cmns-ra:hasRegistrationAuthority idmp-ra:EuropeanMedicinesAgencyRegistrationAuthority .
idmp-ra:EudraVigilanceCode
rdfs:subClassOf owl:Class ;
rdfs:subClassOf idmp-sub:SubstanceCode ;
rdfs:label "EudraVigilance code" ;
cmns-av:abbreviation "EV code" .
idmp-sub:SubstanceCode
rdf:type owl:Class ;
rdfs:subClassOf cmns-ra:RegisteredIdentifier ;
rdfs:label "substance code" .
cmns-ra:RegisteredIdentifier
rdf:type owl:Class ;
rdfs:label "registered identifier" ;
skos:definition "contextual identifier that is registered in a registry by, or on behalf of, a registration authority according to some registration scheme" .
idmp-ra:ExtendedEudraVigilanceMedicinalProductDictionary
rdf:type idmp-ra:Registry ;
rdfs:label "eXtended EudraVigilance Medicinal Product Dictionary" ;
cmns-av:abbreviation "XEVMPD" .
idmp-ra:Registry
rdf:type owl:Class ;
rdfs:label "registry" .
idmp-ra:EuropeanMedicinesAgencyRegistrationAuthority
rdf:type idmp-ra:RegistrationAuthority ;
rdfs:label "European Medicines Agency Registration Authority" .
idmp-ra:RegistrationAuthority
rdf:type owl:Class ;
rdfs:label "registration authority" .
