Take the graph
The website is a window; the knowledge graph is the actual project. It is published in full so the reasoning can be audited rather than believed. Free to use with attribution — if you build on it, cite DeepTunisia and the underlying sources.
How to read a record
Two fields carry most of the epistemic weight. basis says what kind of claim this is:
documented, reported, inferred or unsubstantiated. The interval carries four date fields rather
than two, because historical personnel records are rarely precise and collapsing them would invent
certainty. raw preserves exactly what was authored, so you can see the difference
between a decree date and an estimate.
{
"id": "p-dgsn-saidane",
"role": "dg-national-security",
"holder": "mourad-saidane",
"basis": "documented",
"datesInferred": false,
"interval": {
"startEarliest": 1653955200000,
"startLatest": 1653955200000,
"endEarliest": 1759276800000,
"endLatest": 1785110400000,
"startPrecision": "day",
"status": "last-verified",
"raw": { "start": "2022-05-31", "end": "verified:2025-10-01" }
},
"review": { "by": "Initial compilation", "date": "2026-07-26",
"method": "Checked directly against the JORT decree text" },
"sources": ["jort-2022-546", "lapresse-saied-securite-2025"]
} Here status: "last-verified" means the officeholder was confirmed in post on 1 October
2025 and may well have continued. It does not mean they left. That distinction is the difference
between a dataset and a guess, and it is why the Chronicle draws that bar with a soft right edge.
Entity model
| Type | Purpose | Key fields |
|---|---|---|
| Source | A citation. Everything else points at these. | id, title, publisher, date, url, archive_url, tier (1–5), lang, excerpt |
| Institution | Ministries, services, parties, companies, families, foreign states, organisations. | id, name_en/fr/ar, abbr, type, layer, parent, active interval, sources |
| Role | A canonical office. Normalising titles kills transliteration drift. | id, title_en/fr/ar, institution, authority (published weight table) |
| Person | Names in three scripts plus alias spellings, for entity resolution. | id, name_en/fr/ar, aliases, birth, death, layers, trajectory, basis, sources |
| Position | The join that makes time-travel possible: person × role × span. | id, role, holder, interval (4-field fuzzy), basis, datesInferred, reasoning, falsifiable_by, disputes, review, predecessorDerived, successorDerived, sources |
| Relationship | A typed, dated, graded edge between any two entities. | id, from, to, type, subtype, interval, basis, attributed_to, reasoning, falsifiable_by, disputes, sources |
| Event | Dated events, with competing characterisations held side by side. | id, date, title_en/fr/ar, category, rupture, actors, institutions, contested, disputes, sources |
| Era, Question, Hypothesis | The analytical layer: periodisation, open research tasks, falsifiable claims. | era: interval, thesis, formula · question: kind, status · hypothesis: support, reasoning, falsifiable_by |
Caveats you should carry with the data
- 215 records await a primary source. They are marked. Do not cite an inferred span as a date.
- 7 contradictions are unresolved. Where sources
disagree, the dataset records the disagreement instead of choosing. Check the
disputesarray before using a figure. - The pre-2011 police chronology is the weakest area. The sequence of national police chiefs under Ben Ali rests largely on secondary sources.
- The authority weights are editorial. They are a judgement about formal authority, published on the method page so you can substitute your own.
- Only 27 of 719 records have been through independent human review. Treat the rest as compiled but unaudited.
Rebuilding it yourself
The source of truth is YAML, not this JSON. The build validates every reference, rejects any claim without a source, rejects an inference without stated reasoning and a falsifier, rejects an unattributed low-confidence claim, and derives all succession chains from the position records so gaps surface instead of being smoothed over. If it builds, the referential integrity holds.