Two Databases, One Person: What Happens When You Merge 7,111 Russian Prosecutions with 400,000 Sanctioned Entities
Two databases. One person.
We merged 7,111 Russian political prosecution records (OVD-Info, 217,814 triples) with 400,000+ sanctioned entities (OpenSanctions) by matching on name and birth year. 135 people appear in both. Alexei Navalny is in both. Garry Kasparov is in both. The ICC Prosecutor is in both. For 48 of the 135, Russia charges them as terrorists or extremists under the same articles the first report identified as facially incompatible with the ICCPR. The international community recognizes them as political prisoners, journalists, or human rights defenders. The same person, two classifications, one knowledge graph that holds both. The contradiction is the finding.
(name + birth year)
recognized abroad
officials (perpetrators)
Russia charged with crimes
What it means to appear in both databases.
OpenSanctions is not a single list. It aggregates 100+ datasets of different types. Appearing in it does not mean "sanctioned as a criminal." It can mean any of the following:
Sanctions lists (EU FSF, US OFAC SDN, UK FCDO, Canada SEMA): governments have frozen a person's assets or restricted their travel. Russian officials are sanctioned for operating the repressive apparatus. But the ICC Prosecutor is also sanctioned: the US placed Karim Ahmad Khan on OFAC SDN in February 2025 in retaliation for ICC arrest warrants against Israeli officials. Sanctions are political instruments, not judicial findings.
PEP databases (Politically Exposed Persons): politicians, judges, senior officials flagged for anti-money-laundering compliance. Appearing here means you hold or held public office.
Wikidata: notable public figures. Most of the 135 matches come through Wikidata. Navalny, Kasparov, Khodorkovsky, Pussy Riot are in Wikidata because they are globally recognized. This is recognition, not sanction.
Interpol Red Notices: wanted persons. Some OVD-Info defendants appear on Red Notices issued at Russia's request, which Interpol has been criticized for allowing authoritarian states to abuse.
The analytical value is not that everyone in both databases has been "sanctioned." It is that the same person exists in two parallel classification systems: Russia's criminal database (where they are a terrorist or extremist) and the international community's recognition database (where they are a political figure, journalist, or human rights defender). The ontology holds both classifications and lets the reader evaluate the contradiction.
Russia charged the people investigating Russia. The US sanctioned them too.
Three ICC officials appear in OVD-Info's database. Russia opened criminal cases against them under Articles 299, 301, and 360. Separately, the United States placed Khan on the OFAC SDN list in February 2025 after the ICC issued arrest warrants for Israeli Prime Minister Netanyahu. Two states, for entirely different reasons, have both targeted the same international court. The knowledge graph records all of it: Russia's charges, the US sanctions, and the ICC's own mandate. The graph does not take sides. It holds the contradiction.
Russia charged the ICC Prosecutor with "illegal detention." The United States sanctioned him for issuing arrest warrants. Two states, two legal systems, both targeting the same court. The knowledge graph does not resolve the irony. It records it.
Russia says terrorist. The world says political prisoner.
48 people in the high-confidence match set are charged under articles the first report classified as facially incompatible with the ICCPR (Art. 282.2, 205.5, 205, 205.1, 205.2, 205.4, 275, 278). These same people appear in international databases as recognized political figures, journalists, human rights defenders, or persons of interest to sanctions authorities. The two classifications cannot both be correct. The ontology holds both and lets the reader decide which system is lying.
135 people exist in both databases.
2,076 sanctioned officials run the machine.
The cross-reference also identifies the perpetrators. 2,076 Russian officials (judges, prosecutors, FSB officers, investigators, prison directors) appear in international sanctions databases. These are not anonymous bureaucrats. They are named, sanctioned individuals whose positions are documented. A judge in the Simferopol (Crimea) district court. An investigator from the Main Military Investigation Directorate. An FSB officer from the Lefortovo pre-trial detention center. The machine has names.
The perpetrator-victim-instrument graph is now complete. One dataset names the victims (OVD-Info). Another dataset names the perpetrators (OpenSanctions). The SKOS vocabulary names the instruments (Criminal Code articles mapped to ICCPR violations). SPARQL crosses all three. The query "which sanctioned officials operated in the same jurisdiction where Art. 282.2 prosecutions occurred?" is now answerable. Nobody has asked it before because nobody had all three datasets in the same graph.
The machine has two sides. One side processes people: 7,111 prosecutions, 135 of them internationally recognized. The other side operates the machine: 2,076 sanctioned officials. Both sides are now in the same knowledge graph. The graph does not judge. It connects.
Submission-ready tables. Use them.
The tables below are formatted for direct citation in treaty-body submissions, WGAD opinions, and ICCPR periodic review filings. The counts are exact, derived from SPARQL queries against the merged knowledge graph (217,814 triples). Every number traces back to a named person, a specific Criminal Code article, and a dated prosecution record.
| WGAD Category | Standard | Evidence from this dataset | Persons |
|---|---|---|---|
| Category I | No legal basis for detention | 84 persons in compulsory psychiatric treatment under speech charges (Art. 207.3, 354.1, 318). Psychiatric detention for speech has no legal basis under international law (UN MI Principles, 1991). | 84 |
| Category II | Detention resulting from exercise of fundamental rights (ICCPR Art. 18, 19, 21, 22) | Art. 19 (expression): 4,329 prosecutions under facially incompatible speech statutes (207.3, 280.3, 354.1). Art. 18 (conscience): 2,340 JW prosecutions (282.2). Art. 22 (association): 2,894 organizational membership charges. Art. 21 (assembly): 485 protest-linked prosecutions. | 5,200+ |
| Category III | Total or partial non-observance of fair trial norms of such gravity as to give detention arbitrary character | 85% single-charge prosecution rate (2025). Art. 207.3 standalone in 74.5% of cases. Conviction rates exceeding 99%. 311 persons prosecuted repeatedly (serial targeting). 1,570 persons facing charges violating 3+ ICCPR articles simultaneously. Imprisonment gradient: charge code determines sentence (75-88% for terror, 27% for speech). | 7,111 |
| Category V | Discrimination (ICCPR Art. 26) | Art. 205.3 (terror training): 288 prosecutions, 0.0% female. Art. 207.3 (wartime speech): 25.9% female. Gendered application of the charging apparatus. Age discrimination: 206 persons under 20 (youngest: 14), 252 persons over 65 (oldest: 88). | 7,111 |
| ICCPR Article | Right | Primary Russian CC articles | Prosecutions | Peak year |
|---|---|---|---|---|
| Art. 19 | Expression | 207.3, 280.3, 354.1, 280, 205.2 | 4,329 | 2023 (785) |
| Art. 22 | Association | 282.2, 282.1, 205.5, 284.1 | 2,894 | 2019 (319) |
| Art. 18 | Conscience / religion | 282.2 (JW designation 2017) | 2,340 | 2019 (281) |
| Art. 14 | Fair trial | All articles (99%+ conviction rate) | 1,090 | 2024 (163) |
| Art. 21 | Assembly | 212, 212.1, 318 (protest-linked) | 485 | 2024 (88) |
| Art. 9 | Liberty / arbitrary detention | All facially incompatible articles | 5,200+ | 2022-2023 |
| Art. 7 | Cruel, inhuman, degrading treatment | Compulsory psychiatric treatment, penal colony conditions | 84+ | Ongoing |
Russia's most recent ICCPR periodic review: 2022 (CCPR/C/RUS/CO/8). All counts derived from SPARQL queries against the published OWL ontology. Reproducible by running the query against the merged graph at github.com/TruthQuest/russia-charge-graph.
| ICCPR articles violated simultaneously | Persons | Typical profile |
|---|---|---|
| Art. 18 + Art. 19 + Art. 22 | 1,570 | Jehovah's Witness charged under Art. 282.2 (association, conscience) alongside a speech article (expression) |
| Art. 14 + Art. 18 + Art. 19 + Art. 22 | 144 | Organizational + speech + fair trial violations compounded in a single prosecution |
| 3+ ICCPR articles (any combination) | 1,570 | Compound violations strengthening the WGAD Category III finding of systematic arbitrary detention |
All outputs are free to use in treaty-body submissions, WGAD filings, ICCPR periodic review contributions, Special Rapporteur communications, and ICC preliminary examinations. Attribution to Trace Origin LLC and source data to OVD-Info.
Russia charged Garry Kasparov with terrorism. It charged the ICC Prosecutor with illegal detention. It charged Yulia Navalnaya with extremism for continuing her husband's work after his death in its custody. It charged a 14-year-old with terrorism and an 88-year-old with attending a prayer meeting. It put a shaman in a psychiatric ward for walking. Every one of these charges is recorded in a knowledge graph. Every one maps to a violated ICCPR provision. And now, for the first time, the victims and the perpetrators exist in the same dataset. 135 names on one side. 2,076 names on the other. The same Criminal Code articles connecting them. The ontology does not open the cell. It writes down who is inside, who put them there, and which law was used to do it. That is not a remedy. It is the architecture of one.
Method note · How we merged two datasets
Entity resolution across two datasets: OVD-Info's Russian political prosecution registry (7,111 records, 217,814 triples in the merged A-Box + SKOS graph) and OpenSanctions (400,000+ entities, 3GB FTM-format JSONL, streamed from S3). Matching criteria: normalized name (lowercase, diacritics stripped, transliteration variants collapsed) plus birth year (must match within 1 year). A blocklist of 48 common Russian surnames (Ivanov, Popov, Kuznetsov, etc.) excludes name-only matches for common names. High-confidence matches require both name and birth year. Medium-confidence matches allow rare names without birth year but reject cases where birth years exist on both sides and don't match. The 135 high-confidence matches were manually reviewed against Wikidata entries and public biographical sources.
This is the third analysis of the Russian dataset. Report I: The Machine. Report II: Who Is Inside It. Report III: Who Runs It. Code on GitHub.
Additional data sources identified through OVD-Info peer review (September 2026): black-book.wiki (individuals involved in human rights violations in Russia), fbk.info/sanctions (Navalny team sanctions research), cedarus.io, and tochno.st. These sources contain data on perpetrators, sanctioned individuals, and institutional structures that may extend the entity resolution analysis in future iterations.