Datasets

LOTUS

LOTUS is a database of natural product occurrences that links chemical compounds to the organisms in which they have been reported and the supporting literature. It integrates chemical structures, taxonomic information, and references to support research on natural products and their distribution across organisms.

Dataset specifications

Tags
Drug/Chemical
Provenance Third party
Registration Submitted
Data provider
  • The LOTUS Initiative
Creator
  • Akira R. KinjoAnima Machina G.K.
Issued 2026-10-09
Licenses
  • https://creativecommons.org/licenses/by-sa/4.0/
Version v11 (2026-04-13)
Download /download/#lotus
SPARQL Endpoint https://rdfportal.org/primary/sparql

Dataset statistics

Triples
8628438
Subjects
1028599
Properties
46
Objects
2294285
Classes
9

SPARQL example queries

Example 1

Run on Endpoint
# Retrieve compounds reported in a given organism and their supporting references.

PREFIX lotus: <http://purl.jp/bio/lotus/ontology/>
PREFIX schema: <https://schema.org/>
PREFIX dwc: <http://rs.tdwg.org/dwc/terms/>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX bibo: <http://purl.org/ontology/bibo/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT DISTINCT
  ?organism ?compound ?compound_name ?inchikey ?reference ?doi
WHERE {
  VALUES ?scientific_name { "Annona muricata" }

  ?organism a dwc:Taxon ;
            dwc:scientificName ?scientific_name .

  ?occurrence a lotus:Occurrence ;
              lotus:organism ?organism ;
              lotus:structure ?compound ;
              dct:references ?reference .

  OPTIONAL { ?compound rdfs:label ?compound_name . }
  OPTIONAL { ?compound schema:inChIKey ?inchikey . }
  OPTIONAL { ?reference bibo:doi ?doi . }
}
ORDER BY ?compound ?reference
LIMIT 100

Example 2

Run on Endpoint
# Retrieve compounds classified as alkaloids by NPClassifier and reported in a given taxonomic family.

PREFIX lotus: <http://purl.jp/bio/lotus/ontology/>
PREFIX dwc: <http://rs.tdwg.org/dwc/terms/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT DISTINCT
  ?compound ?compound_name ?organism ?scientific_name
WHERE {
  VALUES ?family { "Rutaceae" }

  ?organism a dwc:Taxon ;
            dwc:family ?family .

  ?occurrence a lotus:Occurrence ;
              lotus:organism ?organism ;
              lotus:structure ?compound .

  ?compound lotus:npclassifierPathway "Alkaloids" .

  OPTIONAL { ?compound rdfs:label ?compound_name . }
  OPTIONAL { ?organism dwc:scientificName ?scientific_name . }
}
ORDER BY ?compound_name ?scientific_name
LIMIT 100

Example 3

Run on Endpoint
# Retrieve organisms in which a compound identified by its InChIKey has been reported.

PREFIX lotus: <http://purl.jp/bio/lotus/ontology/>
PREFIX schema: <https://schema.org/>
PREFIX dwc: <http://rs.tdwg.org/dwc/terms/>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX bibo: <http://purl.org/ontology/bibo/>

SELECT DISTINCT
  ?compound ?organism ?scientific_name ?reference ?doi
WHERE {
  # Example InChIKey from the supplied RDF
  VALUES ?inchikey { "NMKSAYKQLCHXDK-UHFFFAOYSA-N" }

  ?compound a schema:MolecularEntity ;
            schema:inChIKey ?inchikey .

  ?occurrence a lotus:Occurrence ;
              lotus:structure ?compound ;
              lotus:organism ?organism ;
              dct:references ?reference .

  OPTIONAL { ?organism dwc:scientificName ?scientific_name . }
  OPTIONAL { ?reference bibo:doi ?doi . }
}
ORDER BY ?scientific_name ?reference
LIMIT 100

Example 4

Run on Endpoint
# Count distinct compounds, organisms, and references for each taxonomic family.

PREFIX lotus: <http://purl.jp/bio/lotus/ontology/>
PREFIX dwc: <http://rs.tdwg.org/dwc/terms/>
PREFIX dct: <http://purl.org/dc/terms/>

SELECT
  ?family
  (COUNT(DISTINCT ?compound) AS ?compound_count)
  (COUNT(DISTINCT ?organism) AS ?organism_count)
  (COUNT(DISTINCT ?reference) AS ?reference_count)
WHERE {
  ?occurrence a lotus:Occurrence ;
              lotus:structure ?compound ;
              lotus:organism ?organism ;
              dct:references ?reference .

  ?organism dwc:family ?family .
}
GROUP BY ?family
ORDER BY DESC(?compound_count) ?family
LIMIT 100

Example 5

Run on Endpoint
# Retrieve manually validated compound–organism occurrences and their supporting references.

PREFIX lotus: <http://purl.jp/bio/lotus/ontology/>
PREFIX dwc: <http://rs.tdwg.org/dwc/terms/>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX bibo: <http://purl.org/ontology/bibo/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT DISTINCT
  ?occurrence ?compound ?compound_name
  ?organism ?scientific_name ?reference ?doi
WHERE {
  ?occurrence a lotus:Occurrence ;
              lotus:manuallyValidated true ;
              lotus:structure ?compound ;
              lotus:organism ?organism ;
              dct:references ?reference .

  OPTIONAL { ?compound rdfs:label ?compound_name . }
  OPTIONAL { ?organism dwc:scientificName ?scientific_name . }
  OPTIONAL { ?reference bibo:doi ?doi . }
}
ORDER BY ?occurrence
LIMIT 100

Schema diagram

Schema diagram for lotus
Schema diagram for lotus