Modeling Political Scandals with Source Metadata and Timeline Hierarchy
Overview
Scandals are not just stories—they’re structured data. I wanted to capture every major political controversy in Nepal since 2040 B.S. as structured content that can be sorted, filtered, visualized, and linked.
This post covers how I modeled scandals with:
- Timeline consistency
- Hierarchical parent-child links
- Multilingual titles and content
- Source citations and metadata
- Relation to multiple political entities (leaders, parties, governments)
Schema Design
I reused the polymorphic Content
model but added specific support for:
contentType = 'SCANDAL'
eventDate
for historical orderingparentContentId
to group sub-events
Each scandal entry includes bilingual fields, like:
{
contentType: 'SCANDAL',
resourceType: 'LEADER',
resourceId: 1429,
title: 'KP Oli Accused of Policy Corruption in Giri Bandhu Tea Estate',
titleLocal: 'केपी ओलीमाथि गिरि बन्धु चिया बगानको नीतिगत भ्रष्टाचारको आरोप',
content: 'Allegations surfaced...',
contentLocal: 'आरोप सार्वजनिक भए...',
eventDate: '2016-02-10',
sourceUrl: 'https://example.com/news/oli-scandal',
}
Parent-Child Linking
Some scandals span years or involve multiple actors. I introduced parentContentId
to group related entries:
- Parent: "Fake Bhutanese Refugee Scandal"
- Children: Entries per accused leader, stages, investigation updates
This lets me:
- Show a full timeline under one scandal
- Aggregate involved leaders and actions
- Track escalation patterns
Multilingual Content Support
As with other modules, every scandal entry includes both English and Nepali fields. This ensures accessibility and reach, especially for politically engaged users inside Nepal.
Example rendering fallback:
{language === 'np' ? titleLocal || title : title}
Source Tracking
Each entry stores a sourceUrl
and optionally sourceTitle
. Users can trace claims to primary reports, news articles, or legal documents.
I plan to add source verification and approval levels in the future.
Visualizing Scandals
Timeline components allow users to:
- Browse scandals by year or leader
- Filter by severity or party
- Navigate multi-layered events
I also plan to add heatmaps, bar charts, and scandal density indicators.
Summary
Political scandals are rich data. With the right structure, they become:
- Insightful history
- Searchable patterns
- Publicly accountable narratives
In the next post, I’ll cover how I visualized elections over decades with normalized party data, interactive charts, and historical trends.