Methodology
How our composition data is built
Every percentage in our composition tables comes from a table in a peer-reviewed, open-access paper. Nothing is estimated, interpolated, or copied from another compilation. This page documents exactly how the numbers are produced — and where they should not be over-trusted.
Why ranges, not a single number
The same oil varies with cultivar, origin, soil, season and distillation. A single "linalool: 27%" hides that reality. For every constituent we publish the median across all samples, the typical range (the middle 50% — 25th to 75th percentile), the maximum seen, and the detection rate (how many papers reported it at all). That lets you judge a batch's lab report against what the literature actually shows.
Method
- Search. One Europe PMC query per botanical species, restricted to open-access articles with full text. Thousands of articles were retrieved and screened down to those carrying real composition tables.
- Table extraction. Full-text XML was parsed and every table scored for a compound-name column and percentage columns. Retention-index and retention-time columns were excluded; candidate percentage columns had to sum to a plausible total.
- Species attribution. A sample is kept only on positive evidence — the table caption or its own column header names exactly one species. Tables naming two or more candidates are discarded, not guessed.
- Name normalisation. Synonyms are unified against PubChem (eucalyptol and 1,8-cineole are one compound; so are d-limonene and limonene; so are 4-terpineol and terpinen-4-ol).
- Pooling. Study-level medians first, then the median across studies — so one paper publishing many columns cannot dominate an oil's profile.
What we exclude
Tables with very few compounds, columns summing far outside a plausible total, duplicate profiles, molecular-docking and bioassay tables that only resemble composition tables, and non-oil matrices (juices, pectins, nanoemulsions, solvent extracts, biological fluids).
Limitations — read these
- Percentages are GC peak-area normalisations, not mass fractions. They are not concentrations and should not be treated as such.
- This is a literature sample, not a market survey. Oils are represented by research interest, not commercial volume.
- Plant part is often unstated. Where authors specified it, it is recorded — citrus leaf and peel oils differ completely and can share an oil name.
- Absence is recorded as zero. Some authors truncate tables at the top peaks, so a zero can mean "not reported" rather than "not present" — which is exactly what the detection-rate column makes visible.
- Variants are representative. Where one of our oils is a specific origin or cultivar of a species, its page says so: the figures describe the species across the literature, and that batch can sit anywhere within the range.
- No health claims. This is analytical chemistry. We publish what oils are made of, not what they treat.
Provenance & corrections
Every figure traces to a named table in a named paper. Each oil page lists its own sources on-page, and the full machine-readable provenance is open:
- source_articles.csv — every paper with its DOI, licence and Europe PMC link
- evidence_trail.csv — every sample linked to its exact table caption and column header
Measured values are facts and are not themselves subject to copyright; each source's Creative Commons licence is recorded so reuse can be assessed. If a value doesn't match its cited table, the evidence trail links it to the exact source so it can be fixed. Corrections are welcome. Dataset snapshot: 2026-09-19.