ChEMBL RDF
ChEMBL RDF is an RDF representation of ChEMBL, a manually curated database of bioactive molecules maintained by EMBL-EBI. It links chemical structures and molecular properties with biological activity measurements, assays, targets, and source publications, supporting drug discovery and research into compound–target interactions.
Dataset specifications
| Tags |
|
| Provenance |
Original
|
| Registration |
Added by RDF portal
|
| Data provider |
- European Bioinformatics Institute
|
| Creator |
-
European Bioinformatics Institute
|
| Issued |
2026-03-26 |
| Licenses |
-
Creative Commons Attribution-Share Alike 3.0 Unported License
|
| Version |
36 |
| Download |
/website/download/#chembl
|
| SPARQL Endpoint |
https://rdfportal.org/ebi/sparql
|
Dataset statistics
- Triples
- 740029339
- Subjects
- 83960714
- Properties
- 125
- Objects
- 185509730
- Classes
- 105
SPARQL example queries
# Endpoint: https://rdfportal.org/ebi/sparql
# Description: List the pairs of ChEMBL compound ID and its label
PREFIX cco: <http://rdf.ebi.ac.uk/terms/chembl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT DISTINCT ?molecule_chemblid ?molecule_label
FROM <http://rdf.ebi.ac.uk/dataset/chembl>
WHERE {
VALUES ?Molecule__class { cco:SmallMolecule cco:ProteinMolecule cco:UnknownSubstance cco:Oligosaccharide cco:UnclassifiedSubstance cco:CellTherapy cco:Enzyme cco:Antibody cco:Oligonucleotide cco:UnclassifiedMolecule }
?Molecule a ?Molecule__class ;
cco:chemblId ?molecule_chemblid ;
rdfs:label ?molecule_label .
}
LIMIT 100
# Endpoint: https://rdfportal.org/ebi/sparql
# Description: List compounds targeting Tyrosine-protein kinase ABL (CHEMBL1862) and approved as a drug
# Parameter: drug_mechanism_has_target: (example: chembl_target:CHEMBL1862)
# molecule_highest_development_phase: (example: 4)
PREFIX cco: <http://rdf.ebi.ac.uk/terms/chembl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX chembl_target: <http://rdf.ebi.ac.uk/resource/chembl/target/>
SELECT ?molecule_chemblid ?molecule_label ?molecule_highest_development_phase ?molecule_has_mechanism ?drug_mechanism_has_target
FROM <http://rdf.ebi.ac.uk/dataset/chembl>
WHERE {
VALUES ?drug_mechanism_has_target { chembl_target:CHEMBL1862 }
#VALUES ?molecule_highest_development_phase { 4 } # Does not match in QLever. bug?(VALUES + fload)
VALUES ?drug_mechanism_has_target__class { cco:ADMET cco:ProteinComplexGroup cco:ProteinComplex cco:ProteinSelectivityGroup cco:Phenotype cco:SingleProtein cco:NucleicAcid cco:Organism cco:Metal cco:Macromolecule cco:SmallMoleculeTarget cco:SubCellular cco:OligosaccharideTarget cco:UnknownTarget cco:UnclassifiedTarget cco:CellLineTarget cco:Tissue cco:NonMolecular cco:ChimericProtein cco:ProteinNucleicAcidComplex cco:ProteinFamily cco:ProteinProteinInteraction }
VALUES ?Molecule__class { cco:SmallMolecule cco:ProteinMolecule cco:UnknownSubstance cco:Oligosaccharide cco:UnclassifiedSubstance cco:CellTherapy cco:Enzyme cco:Antibody cco:Oligonucleotide cco:UnclassifiedMolecule }
?Molecule a ?Molecule__class ;
cco:chemblId ?molecule_chemblid ;
rdfs:label ?molecule_label ;
cco:highestDevelopmentPhase ?molecule_highest_development_phase .
FILTER (?molecule_highest_development_phase = "4.0"^^xsd:float)
?molecule_has_mechanism a cco:Mechanism ;
cco:hasTarget ?drug_mechanism_has_target .
?drug_mechanism_has_target a ?drug_mechanism_has_target__class .
OPTIONAL {
?Molecule cco:hasMechanism ?molecule_has_mechanism .
}
}
LIMIT 100
# Retrieve a compound's name, SMILES, InChIKey, and molecular formula by ChEMBL ID (ex.Caffeine CHEMBL113)
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX sio: <http://semanticscience.org/resource/>
PREFIX molecule: <http://rdf.ebi.ac.uk/resource/chembl/molecule/>
SELECT ?molecule ?name ?smiles ?inchiKey ?formula
FROM <http://rdf.ebi.ac.uk/dataset/chembl>
WHERE {
VALUES ?molecule { molecule:CHEMBL113 }
?molecule rdfs:label ?name ;
sio:SIO_000008 [
a sio:CHEMINF_000018 ;
sio:SIO_000300 ?smiles
] ;
sio:SIO_000008 [
a sio:CHEMINF_000059 ;
sio:SIO_000300 ?inchiKey
] ;
sio:SIO_000008 [
a sio:CHEMINF_000042 ;
sio:SIO_000300 ?formula
] .
}
LIMIT 100
# Retrieve activity measurements with IC50 values of 100 nM or less against a specified target (ex. ABL1 CHEMBL1862)
PREFIX cco: <http://rdf.ebi.ac.uk/terms/chembl#>
PREFIX target: <http://rdf.ebi.ac.uk/resource/chembl/target/>
SELECT ?chemblId ?activity ?assay ?type ?relation ?value ?units
FROM <http://rdf.ebi.ac.uk/dataset/chembl>
WHERE {
VALUES ?target { target:CHEMBL1862 }
?assay cco:hasTarget ?target .
?activity a cco:Activity ;
cco:hasAssay ?assay ;
cco:hasMolecule ?molecule ;
cco:standardType ?type ;
cco:standardRelation ?relation ;
cco:standardValue ?value ;
cco:standardUnits ?units .
?molecule cco:chemblId ?chemblId .
FILTER(
STR(?type) = "IC50" &&
STR(?relation) = "=" &&
STR(?units) = "nM"
)
FILTER(?value > 0 && ?value <= 100)
}
ORDER BY ?value ?chemblId
LIMIT 100
# List approved drugs with a curated mechanism of action against a specified target.
PREFIX cco: <http://rdf.ebi.ac.uk/terms/chembl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX target: <http://rdf.ebi.ac.uk/resource/chembl/target/>
SELECT DISTINCT ?chemblId ?name ?actionType ?phase
FROM <http://rdf.ebi.ac.uk/dataset/chembl>
WHERE {
VALUES ?target { target:CHEMBL1862 }
?mechanism a cco:Mechanism ;
cco:hasTarget ?target ;
cco:hasMolecule ?molecule ;
cco:mechanismActionType ?actionType .
?molecule cco:chemblId ?chemblId ;
rdfs:label ?name ;
cco:highestDevelopmentPhase ?phase .
FILTER(?phase = 4)
}
ORDER BY ?name
LIMIT 100
# List drugs with a maximum development phase of 3 or higher for a specified disease. (ex. Parkinson's disease D010300)
PREFIX cco: <http://rdf.ebi.ac.uk/terms/chembl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX mesh: <http://identifiers.org/mesh/>
SELECT DISTINCT ?chemblId ?name ?phase
FROM <http://rdf.ebi.ac.uk/dataset/chembl>
WHERE {
VALUES ?disease { mesh:D010300 }
?indication a cco:DrugIndication ;
cco:hasMesh ?disease ;
cco:hasMolecule ?molecule ;
cco:highestDevelopmentPhase ?phase .
?molecule cco:chemblId ?chemblId ;
rdfs:label ?name .
FILTER(?phase >= 3)
}
ORDER BY DESC(?phase) ?name
LIMIT 100