...
Note: identification based on name and identifier attributes may not be unique in datasets. In some cases, it is sufficient to add the context of the name or identifier but in some cases the referencing identifiers are not unique even within one reference set. E.g., in GSRS the ATC codes are listed under identifiers but the code "C09XA53" is classifying Amlodipine and also Aliskiren.
Query
prefix idmp-sub: <https://spec.pistoiaalliance.org/idmp/ontology/ISO/ISO11238-Substances/>
prefix cmns-dsg: <https://www.omg.org/spec/Commons/Designators/>
prefix cmns-txt: <https://www.omg.org/spec/Commons/TextDatatype/>
prefix cmns-id: <https://www.omg.org/spec/Commons/Identifiers/>
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
prefix skos: <http://www.w3.org/2004/02/skos/core#>
...
OPTIONAL {
?SimpleLabelProperty rdfs:subPropertyOf* rdfs:label .
?Substance ?SimpleLabelProperty ?SubstanceLabel .
FILTER(lcase(str(?SubstanceLabel)) = lcase(?SubstanceInputReference))
}
OPTIONAL {
?Substance cmns-dsg:hasName/cmns-txt:hasTextValue ?SubstanceName .
FILTER(lcase(str(?SubstanceName)) = lcase(str(?SubstanceInputReference)))
}
OPTIONAL {
?Substance cmns-id:isIdentifiedBy/cmns-txt:hasTextValue ?SubstanceIdentifier .
FILTER(lcase(str(?SubstanceIdentifier)) = lcase(str(?SubstanceInputReference)))
}
FILTER(bound(?SubstanceLabel) || bound(?SubstanceName) || bound(?SubstanceIdentifier))
}