Skip to content

Classic Automotive Ontology — Complete Reference

Domain: Automotive & Motorsport, 1950–2010
Source files: src/models.py, src/queries.py, seeds/dim5_technology.json, seeds/dim6_incidents.json, alembic/versions/001_initial_schema.py


1. Canonical Data Model

Every term in the ontology maps to this shape (OntologyTerm in models.py):

Field Type Notes
term str Human-readable name; whitespace-stripped. Unique together with dimension.
wikidata_qid str \| None Bare QID (e.g. Q786820). Full URIs normalised on input.
dimension Dimension One of 7 values (see §2).
sub_category str \| None Finer classification within a dimension.
era_start int \| None Year; validated 1885–2025.
era_end int \| None Year; validated 1885–2025.
relevance_score int 1–5 (5 = core, 1 = marginal). Default 3 for SPARQL-sourced; manual seeds carry their own.
source Source wikidata, dbpedia, auto-ontology, or manual.
notes str \| None Free-text context. First 200 chars used in embedding text.
embedding list[float] \| None 384-dim vector (all-MiniLM-L6-v2). Excluded from CSV export.

Embedding text formula (what gets vectorised):

term | sub_category | dimension | notes[:200]
Fields included only when non-null.

Unique constraint: (term, dimension)


2. Dimensions

The enum Dimension defines 7 values. CLAUDE.md groups EVENT + CIRCUIT as a combined "Dimension 3" for documentation purposes.

# Dimension Source Sub-categories
1 MANUFACTURER SPARQL Automobile Manufacturer
2 MODEL SPARQL (2 queries) Road Car, Racing Car
3a EVENT SPARQL Motorsport Championship
3b CIRCUIT SPARQL Racing Circuit
4 PERSON SPARQL (2 queries) Racing Driver, Automotive Designer/Engineer
5 TECHNOLOGY Manual seed only See §4
6 INCIDENT SPARQL + manual seed See §5

3. SPARQL Query Coverage

All queries are paginated (LIMIT/OFFSET), use OPTIONAL for sparse Wikidata fields, and enforce a 55 s timeout per page.

3.1 Dimension 1 — MANUFACTURER

  • Wikidata class: wd:Q786820 (automobile manufacturer), via wdt:P31/wdt:P279*
  • Era filter: founded ≤ 2010, defunct ≥ 1950 (or unset)
  • Fields pulled: label, country, founding year, defunct year

3.2 Dimension 2A — Road Car Models

  • Wikidata class: wd:Q3231690 (automobile model)
  • Era filter: start year ∈ [1950, 2010]
  • Fields pulled: label, manufacturer, body style, start year, end year
  • Relevance default: 3

3.3 Dimension 2B — Racing Car Models

  • Wikidata classes (VALUES): Q223557, Q740308, Q1434981, Q3397737, Q2839680, Q1358119, Q2864737
  • Covers: Formula cars, sports-racing prototypes, GT racing cars, etc.
  • Era filter: start year ∈ [1948, 2012]
  • Relevance default: 4

3.4 Dimension 3A — Motorsport Championships / Series

  • Wikidata classes (VALUES): Q13219666, Q27020041, Q5389, Q187294, Q1968, Q181600, Q154469, Q190603, Q172678, Q230937, Q1025657, Q1199713
  • Covers: racing series, World Championship, Formula One season, etc.
  • Era filter: start year ≥ 1950
  • Relevance default: 4

3.5 Dimension 3B — Circuits & Venues

  • Wikidata classes (VALUES): Q1777138, Q10512426, Q1378645, Q1543884, Q4721
  • Covers: racing circuit, motorsport venue, road course, street circuit, autodrome
  • Era filter: opened ≤ era_end (no lower bound)
  • Fields pulled: label, country, opened year

3.6 Dimension 4A — Racing Drivers

  • Wikidata property: wdt:P106 wd:Q10841764 (occupation = racing driver)
  • Era filter: born ≤ 1985, died ≥ 1950 (both optional)
  • Fields pulled: label, nationality, birth year, death year

3.7 Dimension 4B — Automotive Designers / Engineers

  • Wikidata occupations (VALUES): Q3501779, Q15296811, Q1326886, Q11063, Q81096
  • Covers: automotive designer, car designer, mechanical engineer, engineer, scientist
  • Era filter: born ∈ [1880, 1970]
  • Fields pulled: label, occupation, nationality, birth year
  • Relevance default: 4

3.8 Dimension 6 — Incidents (SPARQL portion)

  • Wikidata class: wd:Q9687 (accident), via wdt:P31/wdt:P279*
  • Era filter: event year ∈ [era_start, era_end] (1950–2010)
  • Fields pulled: label, event year, location
  • Relevance default: 4

4. Manual Seed — Dimension 5: Technology (40 terms)

All sourced as "source": "manual". Sub-categories and sample terms below.

Sub-category breakdown

Sub-category Terms
Chassis/Suspension Hydropneumatic suspension, Active suspension, Double wishbone suspension, MacPherson strut, De Dion rear axle, Torsion bar suspension
Chassis/Structure Monocoque chassis, Spaceframe chassis, Unibody construction
Chassis/Materials Carbon fibre monocoque
Powertrain/Layout Mid-engine layout, Rear-engine layout
Braking Disc brakes, Anti-lock braking system (ABS)
Fuel System Fuel injection, Bosch K-Jetronic, Bosch L-Jetronic, Weber carburettor, Kugelfischer mechanical injection
Forced Induction Turbocharger, Turbo lag, Intercooler (charge air cooler)
Engine/Valvetrain Twin-cam engine (DOHC), VTEC (Variable Valve Timing)
Engine/Configuration V12 engine, Flat-six engine (Boxer), Inline-six engine
Engine/Lubrication Dry-sump lubrication
Transmission Sequential gearbox
Drivetrain Limited-slip differential, All-wheel drive (4WD) rally, Transaxle
Aerodynamics Ground effect aerodynamics, Aerodynamic downforce
Materials Kevlar bodywork
Regulation Group B homologation rules, Group A regulations (WRC), FIA homologation special
Steering Power steering (hydraulic)

Full term list with era and relevance

Term era_start era_end Score Wikidata QID
Hydropneumatic suspension 1955 2010 5 Q1542898
Monocoque chassis 1962 2010 5
Mid-engine layout 1960 2010 5
Disc brakes 1952 2010 5 Q337853
Fuel injection 1954 2010 5
Turbocharger 1962 2010 5 Q171173
V12 engine 1950 2010 5
Flat-six engine (Boxer) 1963 2010 5
Ground effect aerodynamics 1977 1983 5
Aerodynamic downforce 1968 2010 5
Carbon fibre monocoque 1981 2010 5
VTEC (Variable Valve Timing) 1989 2010 5
Active suspension 1987 1994 5
All-wheel drive (4WD) rally 1980 2010 5
Group B homologation rules 1982 1986 5
Bosch K-Jetronic 1973 1995 4
Bosch L-Jetronic 1967 1993 4
Twin-cam engine (DOHC) 1950 2010 4
Inline-six engine 1950 2010 4
Sequential gearbox 1989 2010 4
Limited-slip differential 1950 2010 4
Anti-lock braking system (ABS) 1978 2010 4 Q216225
Double wishbone suspension 1950 2010 4
MacPherson strut 1950 2010 4 Q1366622
Weber carburettor 1950 1990 4
Group A regulations (WRC) 1987 1996 4
FIA homologation special 1960 2010 4
Spaceframe chassis 1950 1970 4
Rear-engine layout 1950 1998 4
Unibody construction 1950 2010 4
De Dion rear axle 1950 1985 3
Kevlar bodywork 1976 2010 3
Dry-sump lubrication 1950 2010 3
Torsion bar suspension 1950 2000 3
Turbo lag 1976 2010 3
Intercooler (charge air cooler) 1977 2010 3
Power steering (hydraulic) 1956 2010 3
Transaxle 1950 2010 3
Kugelfischer mechanical injection 1960 1980 3
De Dion rear axle 1950 1985 3

5. Manual Seed — Dimension 6: Incidents (23 terms)

All sourced as "source": "manual". Sub-category taxonomy and full list:

Sub-category taxonomy

Sub-category Meaning
Accident/Consequential Crash with lasting rule or industry changes
Accident/Fatal Fatal crash without major systemic changes
Accident/Technical Fatal crash with technical/design root cause
Accident/Manufacturer Consequence Crash that caused a manufacturer to withdraw
Accident/Regulatory Consequence Same as Consequential, emphasising regulatory outcome
Regulatory Consequence Rule change or ban triggered by an incident
Incident/Technical Disqualification Car/team DSQ for technical infringement
Incident/Technical Protest Post-race technical protest that changed the result
Incident/Regulatory Finish or result dispute with a regulatory dimension
Incident/Championship Impact On-track incident that shaped a championship battle
Incident/Disqualification Broad DQ (e.g. lighting rules)

Full term list

Term era Score QID
Le Mans 1955 disaster 1955 5 Q1060047
Mercedes motorsport withdrawal 1955 1955 5
1986 Portugal Rally crowd fatalities 1986 5
1986 Tour de Corse — Toivonen/Cresto fatal crash 1986 5
Group B ban (FIA 1986) 1986 5
1957 Mille Miglia — de Portago crash 1957 5
Mille Miglia cancellation 1957 1957 5
1976 German GP — Niki Lauda Nürburgring fire 1976 5 Q1058987
1982 Belgian GP — Gilles Villeneuve fatal crash 1982 5 Q918046
1994 San Marino GP — Senna and Ratzenberger 1994 5 Q924037
1999 Le Mans — Mercedes CLR triple flip 1999 5
1965 Monte Carlo Rally — Mini Cooper S exclusion 1965 5
Group B spectator safety revolution (1983-1986) 1983–1986 5
Nürburgring retirement from F1 (1977) 1976–1977 4
1994 Benetton B194 — launch control controversy 1994 4
1976 Japanese GP — McLaren brake adjuster protest 1976 4
1966 Le Mans — Ford GT40 photo-finish controversy 1966 4
1988 Spa — Senna vs Prost first lap collision 1988 4
1958 German GP — Peter Collins fatal crash 1958 4
1967 Monaco GP — Lorenzo Bandini fatal crash 1967 4
1968 French GP — Jo Schlesser fatal crash 1968 4
1977 South African GP — Tom Pryce fatal crash 1977 4
1995 Rally Catalunya — Ford Escort subframe dispute 1995 3

6. Database Schema

CREATE TABLE ontology_terms (
    id              SERIAL PRIMARY KEY,
    term            TEXT        NOT NULL,
    wikidata_qid    TEXT,
    dimension       TEXT        NOT NULL,     -- matches Dimension enum values
    sub_category    TEXT,
    era_start       INTEGER,
    era_end         INTEGER,
    relevance_score INTEGER     NOT NULL DEFAULT 3
                                CHECK (relevance_score BETWEEN 1 AND 5),
    source          TEXT        NOT NULL DEFAULT 'wikidata',
    notes           TEXT,
    embedding       vector(384),              -- all-MiniLM-L6-v2, cosine similarity
    created_at      TIMESTAMPTZ NOT NULL DEFAULT NOW(),
    updated_at      TIMESTAMPTZ NOT NULL DEFAULT NOW(),
    UNIQUE (term, dimension)
);

Indexes: - idx_ot_dimension on (dimension) — B-tree - idx_ot_era on (era_start, era_end) — B-tree - idx_ot_embedding using ivfflat (embedding vector_cosine_ops) with lists = 100


7. Sources & Coverage Summary

Dimension Source Expected volume
MANUFACTURER SPARQL (Wikidata Q786820) Hundreds
MODEL — Road Car SPARQL (Q3231690, era 1950–2010) Thousands
MODEL — Racing Car SPARQL (7 car classes, era 1948–2012) Hundreds
EVENT — Championships SPARQL (12 series classes) Hundreds
CIRCUIT SPARQL (5 venue classes) Hundreds
PERSON — Drivers SPARQL (occupation Q10841764) Thousands
PERSON — Designers SPARQL (5 engineering occupations) Hundreds
TECHNOLOGY Manual seed (dim5_technology.json) 40 terms
INCIDENT SPARQL + manual seed (dim6_incidents.json) SPARQL: variable; manual: 23 terms

8. Notes on Irrelevant Files

The following files in the repo folder are not part of the automotive ontology and should be ignored or removed:

File What it actually is
detailed_summary.md Summary of a research document on Agentic AI in Financial Services
plan.md / plan 2.md Plans for summarising the Agentic AI document above
user_pasted_clipboard_long_content_as_file_##_Expanded_validation_verdict_...txt AI guru ranking validation report (completely unrelated)

These are artefacts of separate research sessions and have no bearing on the ontology build.