JSON Schema
This section documents the OVS JSON schema structure and guiding principles.
Top-level structure
- Year → Make → Model → Trim → Body → Engine → Transmission → Options
- Deterministic identifiers (OVS IDs) are derived from canonicalized attribute sets.
- Fields are explicit and typed; avoid ambiguous or overloaded fields.
Repo layout
- Schemas:
/schemas/vehicle.json,/schemas/engine.json,/schemas/transmission.json,/schemas/body.json - Dataset:
/data/reference(current dataset),/data/YYYY(frozen releases),/data/latest(copy of latest)
Dataset files
Files are simple JSON arrays:
engines.jsontransmissions.jsonbodies.jsonvehicles.json
Example (simplified)
{
"year": 2024,
"make": "Example",
"model": "Alpha",
"trim": "Base",
"body": "Sedan",
"engine": {
"type": "I4",
"displacementL": 2.0,
"fuel": "Gasoline"
},
"transmission": {
"type": "Automatic",
"gears": 8
},
"options": ["Sunroof", "AWD"]
}
Validation
All records in the reference dataset must validate against the versioned JSON schema. CI pipelines enforce:
- Schema validation
- Deterministic ID stability
- Backwards-compatible changes for minor/patch releases
Do not introduce fields derived from proprietary sources without open documentation and consensus.
Note: Examples on this site are illustrative.