Data model
Electepedia’s data is described by one schema, written in LinkML. It’s the contract between Electepedia, Rhetornet, and anyone who wants to exchange data with us. It covers:
- People, organizations and roles: officeholders, candidates, staff, journalists and commentators, with dated memberships.
- What people said: statements, the claims they contain, and fact-checks of those claims.
- Legislation and votes: bills, motions, vote events and individual votes.
- Money: contributions, expenditures and other payments.
- Provenance: the sources behind every factual record, and who recorded it.
Classes and slots map to Popolo, schema.org, SKOS and W3C PROV-O, so the data is usable as JSON-LD without any Electepedia code.
Browse the reference
The schema reference has a page for every class, slot and enum. Terms in the Electepedia namespace resolve to their page. For example, https://electepedia.com/schema/electepedia/coverage_tier is the documentation for coverage_tier.
Download
| File | Use it for |
|---|---|
| electepedia.yaml | The LinkML source. Validate data and generate code with the LinkML tools. |
| electepedia.schema.json | JSON Schema, for validating JSON or YAML in any language. |
| electepedia.context.jsonld | JSON-LD context, for reading the data as linked data. |
| electepedia.owl.ttl | OWL ontology, in Turtle. |
These files always match the latest published version. Pin a copy if you depend on it (see Extending the schema).
Validate a file of records against the schema:
pip install linkml
linkml-validate -s electepedia.yaml -C Dataset my-data.yamlStatus
Version 0.x: the schema is still being designed and may change in breaking ways. From 1.0 it follows semantic versioning, and any breaking change to a class or slot means a new major version.