Overview

Current version: 1.3.0 (October 2026)

Threadle: Population-scale network data management

Yarn balls by a window.

Threadle is a high-performance software system for large, complex, multilayer and multimode network datasets, designed explicitly for working with the Swedish administrative registers. Unlike other existing general-purpose network libraries, it emphasizes memory-efficient storage and fast querying for heterogeneous multi-mode network data.

Threadle is open source and built in .NET, with a Core module handling data models, analytics, processing, and file I/O for massive, multi-dimensional networks. A CLI console provides direct use or interop from other languages, specifically R. Precompiled binaries are available for Windows, macOS, and Linux, or it can be built from source. An R library - threadleR - is available for R interoperability.

Why Threadle?

Most existing tools, such as igraph , networkx , and NetworKit , assume that edges are relatively homogeneous objects stored in adjacency lists or matrices. Whereas indeed perfectly fine for many datasets, these assumptions break down for real-world population-level data, where:

  • relations are heterogeneous (different types of relations, different layers and social domains)
  • data often includes both 1-mode and 2-mode relations
  • networks include millions of nodes and/or billions of edges
  • nodes could have various kinds and types of node attributes that needs efficient internal storage
  • derived 2-mode (bipartite) projections take up huge amounts of memory

Purpose-built to handle the complexity found in full-population administrative registers, Threadle handles these aspects efficiently, storing edges and hyperedges directly with their nodes and enabling queries as if 2-mode networks were projected — without extra memory cost for projecting such data.

Key features

A pile of crocheted space invaders

Native multilayer support

Each layer memory-optimized for type and directionality.

Distributed edge ownership

Edges and hyperedges are stored with the nodes that own them, improving memory locality and query performance.

Unified 1-mode and 2-mode architecture

Threadle stores:

  • 1-mode (unipartite) edges (of layer-specific types)
  • 2-mode (bipartite) relations as true hyperedges, not projections

This allows 2-mode data to be queried as if it were projected, without ever materializing the projection.

Built-in node attribute management

Fast addition, lookup and handling of node-owned attributes.

Efficient storage for population-scale administrative data

Designed for massive datasets with millions of nodes and billions of edges.

Clean separation of Core and frontend applications

  • Core handles all modeling, processing, management and file handling
  • A command-line interface (CLI) console with a full scripting language is provided, either for use as-is or from R using threadleR.
  • Threadle.CLIconsole runs in either text-mode to make us humans happy, or in JSON-mode for easy interoperability with threadleR. Additional frontends can thus easily connect to Core, through CLIconsole running in JSON mode, and Core can also be integrated (as a DLL) into other systems needing Threadle capabilities.

Analytics

Threadle started off as a pure network data management system, where all analytical/algorithmic procedures were meant to be implemented in the threadleR R frontend. However, with version 1.3.0, Threadle has obtained a major boost in analytical capabilities, with standard metrics and analytics covering most social-scientific network analytical applications, such as:

A crocheted space invader on a yarn ball.
  • Centrality measures: betweenness, closeness, harmonic, eigenvector, and PageRank, identifying the most important/influential nodes
  • Community detection: Louvain, Leiden, label propagation, and Girvan-Newman, for partitioning a network into cohesive subgroups
  • Cohesion & clustering: clustering coefficient, transitivity, coreness, and the small-world coefficient, measuring how tightly knit a network is
  • Structural holes & brokerage: Burt’s constraint and effective size, for identifying brokers bridging otherwise disconnected parts of a network
  • Homophily & assortativity: degree- and attribute-based assortativity, testing whether similar nodes tend to connect
  • Distance & reachability: diameter, eccentricity, shortest paths, and random-walker first-passage time, for measuring how close or far nodes are from each other

"Threadle"?

Well, crocheting is fun, and Norrköping has a rich textile history - so... Yeah.