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):
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), viawdt: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), viawdt: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.