Full text
Horoyah: A Knowledge Graph-based Framework for Election Monitoring in Low and Middle-Income Countries Gayo DIALLO[0000−0002−9799−9484] BPH Inserm U1219, Univ. Bordeaux, F-33000 - Bordeaux, France [email protected] Abstract. In many low and middle-income countries (LMICs), electoral processes are plagued by dysfunctions that undermine democratic principles and public trust. These issues, ranging from political corruption to a lack of transparency, often lead to post-election violence and contested results. Civil society organizations (CSOs) play a crucial role in mitigating these problems through election monitoring, but often lack the tools for effective, large-scale data collection and analysis. This paper introduces Horoyah, an innovative platform designed to empower civil society and the general public by leveraging knowledge graphs to promote transparency and accountability in election monitoring. Horoyah provides a structured framework for collecting, aggregating, and analysing citizen-reported election results from polling stations. Structuring voting data within a knowledge graph enables the platform to facilitate the identification of trends, inconsistencies, and potential irregularities, thereby enhancing data accuracy and providing an auditable record of the electoral process. We outline its design and demonstrate its application through a use case based on the 2020 presidential elections in Guinea, West Africa. We conclude by discussing the potential of such tools to fortify democratic practices while also considering the significant challenges of disinformation, cybersecurity, and the digital divide that they raise. Keywords: Election Monitoring ·Knowledge Graph ·Civil Society ·Transparency ·LMIC ·e-Democracy. 1 Introduction The wave of democratization that swept across Africa in the early 1990s transitioned many nations from single-party rule to multi-party systems. Despite significant progress in the practice of holding elections, many have devolved into mere formalities that serve to approve political elites, undermining the credibility of the entire process. In many African Low and Middle Income Countries (LMICs) like Guinea, Kenya, and Zimbabwe, electoral processes are frequently marred by claims of vote-rigging and subsequent violence. These dysfunctions permeate nearly every stage of the process, from the formation of politically compromised electoral bodies to the announcement of results, creating an environment ripe for irregularities. This systemic lack of transparency erodes voters’ trust and makes the ideals of democracy unattainable. Information and Communication Technology (ICT) has been investigated as a means to implement e-democracy and combat corruption, with evidence suggesting that e-government systems can increase transparency [2]. Empirical studies have shown an inverse relationship between ICT usage and perceived corruption, highlighting technology’s potential as a valuable tool in anti-corruption efforts [5].
2 G. Diallo In this context, Civil Society Organizations (CSOs) are critical actors in promoting electoral transparency [9]. Through independent observation and public awareness campaigns, CSOs contribute significantly to the credibility and integrity of elections [12]. The active engagement of citizens in monitoring elections is a cornerstone of a robust democracy, and technology offers a transformative potential to bolster this civic role [13]. This paper introduces Horoyah, a platform engineered to harness the power of knowledge graphs to advance election monitoring for civil society in LMICs. A knowledge graph is a structured data representation that organizes information and establishes connections between different data points [6]. Applying this to voting data allows for a more comprehensive analysis of the relationships between voter demographics, voting patterns, and results. This method enhances data accuracy, enables more efficient analysis, and promotes transparency by providing a clear, auditable trail. We present its overall design and implementation and a use case based on the 2020 Guinean presidential election. We argue that by providing tools for citizen-led data collection and analysis, Horoyah can empower CSOs and the public, fortifying democratic electoral practices in resource-constrained environments. 2 Background The field of e-democracy has explored various technological interventions to improve electoral processes. Early studies focused on electronic polling services for creating polls and viewing results [2], while others advocated for e-democracy tools like "smart vote" to enhance democratic principles [8]. A significant body of research has been dedicated to internet voting, examining its advantages and challenges [12], and proposing secure, end-to-end verifiable systems like D-DEMOS [3]. In Estonia, a nationwide e-Election System has been implemented, allowing for online voting1. These efforts highlight the long-standing interest in using ICT to improve the efficiency and transparency of elections. Another stream of work focuses on making election data more accessible and usable. In the United States, for instance, the OpenElections project, launched in 2012, addresses the challenge of obtaining comprehensive and standardized election data 2. It utilizes a network of volunteers to collect and convert official results into standardized CSV formats, which are then shared on GitHub. This model has proven valuable for journalists and researchers. Similarly, the electiondata Python package was developed to help users consolidate, analyze, and visualize election results from various file formats [13]. In the context of LMICs, specific technological solutions have been proposed to address local challenges. In India for instance, an "Integrated Election Voting System" model was proposed to supplement existing Electronic Voting Machines (EVMs) with an e-voting channel to increase participation [9]. The study emphasized the potential for ICT to enhance India’s electoral process and increase voter turnout. In Senegal, civil society initiatives like "Sénégal Ouvert" and open data repositories on GitHub demonstrate a growing movement towards election transparency through ICT technology3. One innovative technological approach is the use of knowledge graphs for the collection and aggregation of voting data. The novelty of Horoyah includes the application of knowledge graphs 1https://digiexpo.e-estonia.com/e-governance/e-democracy-and-open-data/e-election-system/ 2https://github.com/openelections 3https://github.com/senegalouvert
Title Suppressed Due to Excessive Length 3 to the voting domain. A knowledge graph offers a structured way to link diverse data points like voter demographics and voting patterns, enabling deeper analysis. This approach enhances data accuracy, facilitates efficient processing, and provides an auditable trail of data, which is crucial for transparency. Research has explored using networks-based approach to improve problems of poor service delivery and quality of care in low-income regions, aiming to foster more inclusive approaches [7]. Horoyah builds on these ideas to create a concrete, deployable platform specifically for civil society-led election monitoring in LMICs. 3 Overall description of the platform 3.1 Functional Components The Horoyah platform is comprised of several key components that work together to create a seamless workflow for election monitoring. Data Collection. Horoyah is designed for ease of use by citizen reporters at polling stations. A user-friendly, location-based smart form, similar to applications like Survey, is used for data entry. This allows observers to efficiently submit their observations, including vote counts and reports of any incidents. Data Aggregation and Verification. Once submitted, the data is integrated into the Horoyah knowledge graph (please see Figure 1). A critical step in this process is verification. To maintain the integrity of the information, the W3C Shapes Constraint Language (SHACL)4is used for validation, complemented by a team of volunteers screening each submission before it is taken into account within the knowledge graph and included on a public map or dashboard. Analysis and Visualization. The true power of the knowledge graph lies in the analytical capabilities that it can enable. Linking voting data with demographic information and geographic locations enables the possibility to identify correlations and trends within the electorate, such as patterns based on age, gender, or socioeconomic status. Further, a crosscheck with the available national census and other demographic characteristics openly available could be possible. The platform can then visualize this enriched data through dashboards and interactive maps as shown in Figure 3, allowing the public and media to easily explore the results and focus on specific issues or areas. Knowledge Graph Population. The verified data populates the ontology schema shown in Figure 1, creating a rich, interconnected dataset. This process automates and streamlines what would otherwise be a manual effort prone to errors and delays. The structured nature of the knowledge graph enhances data accuracy by minimizing inconsistencies during collection and aggregation. 4https://www.w3.org/TR/shacl/
4 G. Diallo Cartographic Data. OpenStreetMap is used for the maps and geographical structures description5[4] (but could also be LinkedGeoData6[1]). The OpenStreetMap platform is built by a community of volunteer cartographers who contribute and maintain data on neighbourhoods, roads, trails, cafés, train stations and much more, all over the world. It is therefore an open, collaborative map of the world. It is improved every day by over a million contributors. Fig. 1: The Horoyah Knowledge Graph model used in the platform 3.2 The Horoyah Knowledge Graph The core component of Horoyah data and knowledge backbone is modelled as a knowledge graph, representing the various entities and their complex relationships within an electoral system. Figure 1 illustrates the ontology model of the knowledge graph. The core entities include the following notions. 5https://www.openstreetmap.org 6https://linkedgeodata.org/
Title Suppressed Due to Excessive Length 5 – Administrative and Electoral Divisions: The model captures the hierarchical structure of a country, from the national level down to RegionOrState, PrefectureOrDepartment, Municipality, and District. – Voting Infrastructure: This includes VotingCenter and VotingStation, which are the primary locations where voting occurs and results are reported from. The model can be enhanced with geographical data from open sources like OpenStreetMap [4], which provides a collaborative map of the world built by volunteers. It could also be any other geographical data framework such as LinkedGeoData [1]. – Electoral Process: Key entities like ElectionType (e.g., PresidentialElection), PoliticalParty, and Candidate are central to the model. The VotingSession concept links these entities for a specific election event. – Actors and Results: LocalAssessor represents the civil society observer or citizen who assesses the process and reports the Score (results) obtained by a Candidate at a VotingStation. This interconnected structure allows the platform to link disparate pieces of information, such as results from a specific polling station, the political party of the candidates, and the demographic data of the electoral subdivisions. t Fig. 2: Screenshot of the graph rendered with the OntoGraph panel of the Protégé editor tool.
6 G. Diallo 3.3 Validating the Knowledge Graph SHACL is a language for validating Resource Description Framework (RDF) based graphs against a set of conditions [11]. These conditions are provided as "shapes" and other constructs expressed in the form of an RDF graph. SHACL is a W3C Consortium recommendation that helps ensure data quality and consistency within a knowledge graph. Three examples are provided in the following listings, respectively for the CandidateShape, Subclass Shapes (ElectionTypeSubClassShape) and participatesIn property. CandidateShape 1@prefix oekg: <http://www.horoya.org/OpeneElectionKG#> . 2@prefix sh: <http://www.w3.org/ns/shacl#> . 3 4oekg:CandidateShape 5ash:NodeShape ; 6sh:targetClass oekg:Candidate ; 7sh:property [ 8sh:path oekg:obtains ; 9sh:class oekg:Score ; 10 sh:name "obtains" ; 11 sh:description "A candidate must obtain a score." ; 12 sh:minCount 1 ; 13 ] ; 14 sh:property [ 15 sh:path oekg:reprsents ; 16 sh:class oekg:PoliticalParty ; 17 sh:name "represents" ; 18 sh:description "A candidate must represent a political party." ; 19 sh:minCount 1 ; 20 ] . Subclass Shapes These shapes ensure that the ElectionType sub-classes axioms from the ontology are respected. 1@prefix oekg: <http://www.horoya.org/OpeneElectionKG#> . 2@prefix sh: <http://www.w3.org/ns/shacl#> . 3@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . 4 5oekg:ElectionTypeSubClassShape 6ash:NodeShape ; 7sh:targetClass oekg:LocalElection, oekg:PresidentialElection, oekg: RepresentativeElection, oekg:SenateElection ; 8sh:property [ 9sh:path rdf:type ; 10 sh:hasValue oekg:ElectionType . 11 ] .
Title Suppressed Due to Excessive Length 7 Rules for participatesIn Property The participatesIn property links a V otingStation to aV otingSession. Here are some rules to validate this relationship : sh :pathopenelectionKG : participatesIn. This rule specifies the participatesIn property as the one to be validated. Here are some rules to validate this relationship. –sh:path openelectionKG:participatesIn: This rule specifies the participatesIn property as the one to be validated. –sh:class openelectionKG:VotingStation: This rule specifies that the subject of the participatesIn property must be an instance of the VotingStation class. –sh:targetClass openelectionKG:VotingSession: This rule asserts that the object of the participatesIn property must be an instance of the VotingSession class. 1 2@prefix sh: <http://www.w3.org/ns/shacl#> . 3@prefix oekg: <http://www.horoya.org/OpeneElectionKG#> . 4 5# Shape to validate the ’participatesIn’ property of a VotingStation 6 7oekg:VotingStationShape 8ash:NodeShape ; 9sh:targetClass oekg:VotingStation ; 10 11 # Defines the property constraint 12 sh:property [ 13 # This is the core of the rule, specifying the property to be validated . 14 sh:path oekg:participatesIn ; 15 16 # Human-readable name for the rule 17 sh:name "Voting Station Participation" ; 18 19 # Description of what the rule checks 20 sh:description "Validates the participatesIn relationship for a VotingStation." ; 21 ] . 3.4 Querying the Knowledge Graph The Horoyah Knowledge graph is expressed in RDF using the triplet based representation. It can be querying therefore using the SPARQL query language. We provide in the following an example of a SPARQL query that calculates the total vote score for a given candidate from a specific political party in a given region of the country during a presidential election. The SELECT clause [... (SUM(?scoreValue) AS ?totalScoreInRegion)] selects the names of the candidate, party, and region, and most importantly, it calculates the sum (SUM) of all found score values (?scoreValue). It renames this total as ?totalScoreInRegion for clarity.
8 G. Diallo 1 2# Prefixes for readability 3PREFIX oekg: <http://www.horoya.org/OpeneElectionKG#> 4PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 5PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 6 7# Query to aggregate scores 8SELECT ?candidateName ?partyName ?regionName (SUM(?scoreValue) AS ? totalScoreInRegion) 9WHERE { 10 # 1. Identify the election type and the associated voting session 11 ?session rdf:type oekg:VotingSession . 12 # Assumption 1: The session is linked to an election type 13 ?session oekg:isForElectionType oekg:PresidentialElection . 14 15 # 2. Identify the candidate and the political party 16 ?candidate rdf:type oekg:Candidate . 17 ?candidate oekg:repersents ?party . 18 19 # 3. Retrieve the candidate’s score for this session 20 ?candidate oekg:obtains ?score . 21 # Assumption 2: The score is linked to a specific voting session 22 ?score oekg:inSession ?session . 23 # Assumption 3: The score has a numeric value 24 ?score oekg:hasValue ?scoreValue . 25 26 # 4. Link the vote to its geographical location (the Region) 27 ?station oekg:participatesIn ?session . 28 ?station oekg:belongTo ?electoralDivision . 29 # Assumption 4: The electoral division is located in a region 30 ?electoralDivision oekg:locatedIn ?region . 31 ?region rdf:type oekg:RegionOrState . 32 33 # 5. Retrieve names for display (Assumption 5) 34 ?candidate rdfs:label ?candidateName . 35 ?party rdfs:label ?partyName . 36 ?region rdfs:label ?regionName . 37 38 # 6. Filter for the specified party and region 39 FILTER(?partyName = "GivenPartyName"@en) 40 FILTER(?regionName = "GivenRegionName"@en) 41 } 42 # 7. Group the results to sum by candidate/party/region 43 GROUP BY ?candidateName ?partyName ?regionName 44 # 8. Order the results 45 ORDER BY DESC(?totalScoreInRegion)
Title Suppressed Due to Excessive Length 9 4 Illustration: the Guinea’s 2020 presidential elections 4.1 Context of the presidential elections Guinea is a republic located in the West African region and a member of the ECOWAS regional organization. A Presidential elections were held on 18 October 2020, with incumbent president Alpha Condé (RPG party) running for a third term against former prime minister Cellou Dalein Diallo (UFDG party) and various other candidates. Earlier in that year, a controversial constitutional referendum reset presidential term limits, allowing Condé to run again. Despite opposition boycotts and protests against Condé’s government, the elections went ahead alongside a legislative vote. The electoral process, overseen by the independent electoral commission (CENI), used a two-round system where the President is elected by an absolute majority vote for a 5-year term. The country’s population during the 2020 election was reported as 12,527,440, with an estimated 5,179,600 registered voters in 2020 7. Initial reports indicated that Diallo was in the lead, and on 19 October, he declared victory prematurely based on his party’s polling, which was criticized by Condé. However, with 96.14% of votes counted, the national election committee (CENI) officially announced Condé as the winner in the first round with 59.49% of the vote on 24 October. During the voting date and the following days, the Union of Free Radios and Televisions of Guinea (URTELGUI), an independent SCO monitored around 11% of the voting stations nationally, which involved 250 journalists. A dedicated radio broadcast was used to report the results. We used the available dataset to instantiate Horoyah. Table 1 summarizes the official results as provided by the CENI. These results were strongly contested by the 2nd place candidate and his party. As could be seen, SCO based results, as depicted in Figure 3 suggest a noticeable difference with those provided by the official CENI committee. This raises the issue of the transparency during the official aggregation and counting process of the election results. Table 1: Results of the 2020 presidential elections as proclaimed by the CENI Candidate Political Part Votes obtained Percentage Alpha Condé RPG 2,438,815 59.49 Cellou Dalein Diallo UFDG 1,373,320 33.50 Ibrahima Abé Sylla NGR 63,676 1.55 Ousmane Kaba PADES 48,623 1.19 5 Discussions The integration of digital tools like Horoyah into election monitoring presents both profound opportunities and significant challenges. While they can enhance transparency and empower citizens and CSO, they also introduce vulnerabilities that must be carefully managed to safeguard electoral integrity. 7https://www.idea.int/data-tools/country-view/115/40