Paper deep dive
Exploring ESC Winners with Nested Diagrams
Anurag Sharma, Marcel Nöhre, Gerd Stumme
Intelligence
Status: succeeded | Model: Gemma-4-26B-A4B | Prompt: intel-v1 | Confidence: 95%
Last extracted: 8/17/2026, 3:56:14 AM
Summary
This paper introduces ConceptFlow, a Python library for Formal Concept Analysis (FCA) that generates nested line diagrams from many-valued formal contexts. The authors apply ConceptFlow to the Eurovision Song Contest (ESC) winners from 1975 to 2025, analyzing the relationship between voting patterns (regional, cultural, historical, political support) and musical characteristics (tempo, key). The nested diagram reveals specific implications, such as high-tempo minor-key songs receiving cultural support, demonstrating the tool's utility in visualizing complex dependencies in FCA.
Entities (10)
Relation Signals (8)
ConceptFlow → appliedto → Eurovision Song Contest
confidence 100% · We apply ConceptFlow to the winners of the Eurovision Song Contest from 1975 to 2025
ConceptFlow → implements → Formal Concept Analysis
confidence 100% · We present ConceptFlow, a scikit-learn-compatible Python library for Formal Concept Analysis
Gerd Stumme → affiliatedwith → University of Kassel
confidence 95% · Gerd Stumme Affiliation: Knowledge & Data Engineering Group (KDE), University of Kassel, Germany
Anurag Sharma → affiliatedwith → University of Kassel
confidence 95% · Anurag Sharma Affiliation: Knowledge & Data Engineering Group (KDE), University of Kassel, Germany
Marcel Nöhre → affiliatedwith → University of Kassel
confidence 95% · Marcel Nöhre Affiliation: Knowledge & Data Engineering Group (KDE), University of Kassel, Germany
ConceptFlow → generates → Nested Line Diagram
confidence 95% · ConceptFlow... constructs and renders nested line diagrams from many-valued formal contexts.
DimFlux → usedby → ConceptFlow
confidence 90% · In this work, we consider DimFlux [5], which projects DimDraw coordinates... As a result, both factor lattices are laid out using DimFlux
D3.js → usedforrendering →
Cypher Suggestions (0)
No Cypher suggestions yet.
Abstract
Abstract:We present ConceptFlow, a scikit-learn-compatible Python library for Formal Concept Analysis that constructs and renders nested line diagrams from many-valued formal contexts. Given a many-valued context and a partition of its attributes into conceptual scales, ConceptFlow performs conceptual scaling, computes the factor lattices, identifies filled nodes of the corresponding subdirect product, and produces an interactive visualization. We apply ConceptFlow to the winners of the Eurovision Song Contest from 1975 to 2025, exploring relationships between voting patterns and musical characteristics. Voting support is captured by an outer scale spanning regional, cultural, historical, and political dimensions, while an inner scale captures musical characteristics via tempo and key. The resulting nested line diagram reveals implications across both scales, exposing dependencies between how winning entries were voted for and the musical properties they share.
Tags
Links
- Source: https://arxiv.org/abs/2608.13630v1
- Canonical: https://arxiv.org/abs/2608.13630v1
Trouble viewing inline? Open PDF directly →
Full Text
16,061 characters extracted from source content.
Expand or collapse full text
Exploring ESC Winners with Nested Diagrams Anurag Sharma Affiliation: Knowledge & Data Engineering Group (KDE), University of Kassel, Germany Affiliation: Interdisciplinary Research Center for Information Systems Design (ITeG), University of Kassel, Germany E-mail sharma,noehre,stumme@cs.uni-kassel.de Marcel Nöhre Affiliation: Knowledge & Data Engineering Group (KDE), University of Kassel, Germany Affiliation: Interdisciplinary Research Center for Information Systems Design (ITeG), University of Kassel, Germany E-mail sharma,noehre,stumme@cs.uni-kassel.de Gerd Stumme Affiliation: Knowledge & Data Engineering Group (KDE), University of Kassel, Germany Affiliation: Interdisciplinary Research Center for Information Systems Design (ITeG), University of Kassel, Germany E-mail sharma,noehre,stumme@cs.uni-kassel.de Abstract We present ConceptFlow, a scikit-learn-compatible Python library for Formal Concept Analysis that constructs and renders nested line diagrams from many-valued formal contexts. Given a many-valued context and a partition of its attributes into conceptual scales, ConceptFlow performs conceptual scaling, computes the factor lattices, identifies filled nodes of the corresponding subdirect product, and produces an interactive visualization. We apply ConceptFlow to the winners of the Eurovision Song Contest from 1975 to 2025, exploring relationships between voting patterns and musical characteristics. Voting support is captured by an outer scale spanning regional, cultural, historical, and political dimensions, while an inner scale captures musical characteristics via tempo and key. The resulting nested line diagram reveals implications across both scales, exposing dependencies between how winning entries were voted for and the musical properties they share. Keywords: ConceptFlow Formal Concept Analysis Nested Line Diagrams Eurovision Song Contest 1 Introduction The Eurovision Song Contest (ESC) is a yearly music competition where each participating country enters a song and judges the songs of all other countries. Since 1975, every country distributes the scores 1-8, 10, and 12 to its ten favourite performances, never voting for itself. How those scores are decided, by juries, public televoting, or a combination, has changed repeatedly over the decades. The contest also has a long-standing reputation for biased voting, with persistent alliances between countries. Greece and Cyprus, for instance, reliably award each other 12 points [3]. Formal Concept Analysis (FCA) provides a natural framework for studying such relationships, representing voting patterns and musical characteristics within a single conceptual structure. In this paper, we present the nested line diagram functionality of ConceptFlow [6], a scikit-learn-compatible Python library for Formal Concept Analysis whose components follow the scikit-learn estimator interface. We demonstrate its use by analyzing ESC winners. The outer scale captures voting support across taxonomic clusters, while the inner scale captures musical characteristics. The resulting formal context reveals implications between these two dimensions, exposing dependencies between how winning entries were voted for and the musical properties they share. 2 Background We assume familiarity with FCA [2]. Briefly, a formal context (G,M,)(G,M, I) consists of a set G of objects, a set M of attributes, and a relation I⊆G×MI G× M. A formal concept is a pair (A,B)(A,B) of a maximal object set and the attributes they share; ordered by extent inclusion, these concepts form the concept lattice ¯(G,M,) B(G,M, I). Let =outer|innerK=K_outer _inner denote the apposition of two formal contexts. The concept lattice ¯() B(K) is isomorphic to a subdirect join-semilattice product of the factor lattices ¯(outer) B(K_outer) and ¯(inner) B(K_inner) [2]. Thus, every formal concept (A,B)∈()(A,B)~∈~ B(K) is represented by exactly one pair consisting of an outer concept and an inner concept. A line diagram of ¯(G,M,) B(G,M, I) represents each formal concept by a node and connects two nodes by a straight segment when c1≤c2c_1≤ c_2 is in the transitive reduction of ≤, drawing the smaller concept strictly below the larger. Each node is assigned coordinates in ℝ2R^2, which determine the position of the corresponding concept in the drawing. Doubly-additive line diagrams form a special class: each concept’s position in ℝ2R^2 is the sum of the vectors of the objects in its extent and the attributes in its complement intent, where positive y-components ensure the vertical order respects the order relation ≤. It suffices to assign vectors to the irreducibles of the reduced context. In this work, we consider DimFlux [5], which projects DimDraw coordinates into the additive space and refines them for readability using a force-based model. Nested line diagrams visualize the concept lattice of a formal context by decomposing its attribute set into several scales. Rather than constructing a single concept lattice over all attributes, the context is viewed as the apposition of subcontexts sharing the same object set. One factor lattice is displayed as the outer diagram, while a copy of another factor lattice is placed inside each of its concepts [2]. The construction of such a nested line diagram is described in detail in Section 4. 3 ESC Dataset and Scale Construction We analyse the 50 winners of the Eurovision Song Contest from 1975 to 2025, excluding the cancelled 2020 contest. Voting results and song metadata come from the publicly available Eurovision Song Contest Dataset11 1 https://github.com/EurovisionAPI/dataset. For each winner, we collect the final voting results22 2 Before 2016, the ESC reports only a combined voting result. Since 2016, jury and public televoting are reported separately. For consistency, we represent each winner by a single voting profile: the combined score before 2016, and thereafter whichever of jury or televote awards the larger total number of points. together with musical metadata, including the song’s BPM and key. The resulting many-valued context forms the input for the conceptual scaling process described below. The outer scale captures whether a winning entry received strong support from countries to which it has strong ties. We studied four different types of ties: regional, cultural, historical, and political. For each of the four types, we manually clustered the set of participating countries, as described in our blog33 3 https://w.kde.cs.uni-kassel.de/blogs/esc, to reflect commonly discussed sources of voting affinity [3, 7]. For each winning entry g and cluster m in any of the four clusterings, we set (g,m)∈I(g,m)∈ I if winner g received at least eight points on average from the eligible countries in m. The inner scale captures two musical properties of the winning songs: tempo and key. Tempo is transformed using a threshold scale with thresholds at 100 and 150 BPM, yielding the Boolean attributes ≥ 100 BPM and ≥ 150 BPM [4]. Since the scale is ordinal, every song with tempo at least 150 BPM also satisfies ≥ 100 BPM. Key is represented by a dichotomic scale with the mutually exclusive attributes major and minor. 4 Constructing the Nested Line Diagram In this work, we present ConceptFlow, a scikit-learn-compatible Python library for Formal Concept Analysis providing FCA basics, conceptual scaling, and visualization tools [6]. Given a many-valued formal context (such as the ESC dataset described in Section 3), we independently construct the outer and inner formal contexts by conceptual scaling and compute their corresponding concept lattices. 4.1 Building the Factor Lattices The construction begins with a many-valued context whose object set G consists of the 50 ESC winners. Conceptual scaling is then applied to derive two formal contexts, outer=(G,Mouter,Iouter)K_outer=(G,M_outer,I_outer) and inner=(G,Minner,Iinner)K_inner=(G,M_inner,I_inner), where MouterM_outer contains all country clusters of the four clusterings, while Minner=≥100BPM,≥150BPM,minor,majorM_inner=\≥ 100\, BPM,≥ 150\, BPM, minor, major\. The concept lattices of outerK_outer and innerK_inner provide the factor lattices of the nested line diagram. Since both contexts share the same object set, they satisfy the apposition condition described in Section 2. 4.2 Computing Filled Nodes Rather than constructing the concept lattice of the full apposition explicitly, we compute the filled nodes directly from the two factor lattices. For every object g∈Gg∈ G, we determine its object concepts γouter(g) _outer(g) and γinner(g) _inner(g), which form the initial set of atomic coordinate pairs P0=(γouter(g),γinner(g))∣g∈G∪(⊥outer,⊥inner).P_0= \( _outer(g), _inner(g)) g∈ G \∪ \( _outer, _inner) \. We add (⊥outer,⊥inner)( _outer, _inner) explicitly, since it represents (M′,M)(M ,M), which is always included in the subdirect product. Equivalently, it is the join (supremum) of the empty set and therefore cannot be generated from the atomic pairs by taking non-empty joins. We then repeatedly compute the componentwise joins of all coordinate pairs until no new pairs are generated. The resulting fixpoint is exactly the image of the subdirect join-preserving embedding φ:¯()→¯(outer)ׯ(inner), : B(K)→ B(K_outer)× B(K_inner), identifying the inner formal concepts to be filled in the nested line diagram. 4.3 Rendering After the filled nodes have been determined, both factor lattices are laid out using DimFlux [5]. The outer lattice is drawn once, while the inner lattice’s layout is computed only once and then reused as a fixed template inside every outer concept. As a result, corresponding inner concepts occupy identical relative positions throughout the visualization, so that differences between outer concepts are visible solely through which nodes are filled. The complete nested line diagram is then exported as a JSON representation containing node positions, edges, labels, and filled coordinate pairs. This representation is rendered as an interactive D3.js [1] visualization, cleanly separating the visualization layer from the underlying FCA implementation, so that the rendering component remains independent of the construction algorithms. 5 Results Figure 1: Nested line diagram of the ESC winners generated with ConceptFlow. Filled nodes represent concepts of the original context, whereas hollow nodes correspond to implications visible in the combined context. Filled nodes represent the concepts of the original context after decomposing it into outer and inner scales. Unfilled nodes correspond to implications. To determine what an unfilled node implies, one locates the unique largest filled node below it, either within the same inner lattice or, if necessary, in a lower outer concept. Since the attributes of the unfilled node are contained in those of this filled node, the additional attributes introduced constitute the implication. The nested line diagram (Figure 1)44 4 An interactive version of the nested line diagram and a companion blog post with a more detailed discussion of the methodology, results, and implications are available at https://w.kde.cs.uni-kassel.de/blogs/esc. makes several implications between voting patterns and musical characteristics visible that hold in the analyzed dataset. Among the 50 ESC winners considered, every winning song with a tempo of at least 150150 BPM also received cultural support. Another dependency relates to tempo and key mode. Among winners receiving regional or cultural support, every minor-key song has a tempo of at least 100100 BPM. This is reflected by the absence of the corresponding node for a slow minor-key song, whereas the node representing minor-key songs with a tempo of at least 100100 BPM is filled. The diagram also reveals relationships involving combinations of voting-support attributes. In particular, winners that combine cultural support with a minor key and a tempo of at least 150150 BPM also receive political and historical support. The absence of the corresponding node in the nested diagram therefore indicates that this combination never occurs without the additional voting-support attributes. These observations illustrate how the nested representation localises implications within particular nodes of the subdirect product. Rather than listing implications algebraically, the diagram shows where musical combinations are possible and where they are excluded by additional voting-support conditions. 6 Conclusion We presented ConceptFlow, a scikit-learn-compatible Python library for Formal Concept Analysis supporting conceptual scaling, concept lattice construction, and interactive nested line diagrams. Using the Eurovision Song Contest as a case study, we demonstrated how nested line diagrams combine multiple conceptual scales into a single visualization, making relationships and implications between voting patterns and musical characteristics directly accessible. The ESC analysis serves as a demonstration of the library’s capabilities rather than as a comprehensive statistical study of ESC voting behaviour. Future work will extend ConceptFlow with additional conceptual scales, support for implication theory, and further interactive visualization capabilities. In particular, we plan to compute canonical implication bases and integrate them into the interactive interface, allowing users to inspect the implications associated with concepts and unfilled regions of the diagrams directly within the visualization. This will further strengthen the connection between visualization and knowledge discovery in Formal Concept Analysis. References [1] M. Bostock, V. Ogievetsky, and J. Heer (2011) D3: data-driven documents. IEEE Transactions on Visualization and Computer Graphics 17 (12), p. 2301–2309. External Links: Document Cited by: §4.3. [2] B. Ganter and R. Wille (2024) Formal concept analysis - mathematical foundations. 2nd edition, Springer. External Links: ISBN 978-3-031-63421-5 Cited by: §2, §2, §2. [3] D. Gatherer (2006) Comparison of eurovision song contest simulation with actual results reveals shifting patterns of collusive voting alliances.. Journal of Artificial Societies and Social Simulation 9 (2), p. 1. External Links: ISSN 1460-7425, Link Cited by: §1, §3. [4] G. Madison and J. Paulin (2010) Ratings of speed in real music as a function of both original and manipulated beat tempo. The Journal of the Acoustical Society of America 128 (5), p. 3032–3040. External Links: Document, Link Cited by: §3. [5] M. Nöhre, D. Dürrschnabel, B. Ganter, and G. Stumme (2026) DimFlux: force-directed additive line diagrams. International Journal of Approximate Reasoning 197, p. 109734. External Links: ISSN 0888-613X, Document, Link Cited by: §2, §4.3. [6] A. Sharma (2026) ConceptFlow: a scikit-learn-compatible Python library for formal concept analysis. Note: https://github.com/anuragxorma/conceptflowGitHub repository Cited by: §1, §4. [7] G. Yair (1995) ‘Unite Unite Europe’: the political and cultural structures of europe as reflected in the eurovision song contest. Social Networks 17 (2), p. 147–161. External Links: Document, Link Cited by: §3.