BlockingPy: approximate nearest neighbours for blocking of records for entity resolution

Entity resolution (probabilistic record linkage, deduplication) is a key step in scientific analysis and data science pipelines involving multiple data sources. The objective of entity resolution is to link records without common unique identifiers that refer to the same entity (e.g., person, company). However, without identifiers, researchers need to specify which records to compare in order to calculate matching probabilities and reduce computational complexity. One solution is to deterministically block records based on some common variables, such as names, dates of birth, or sex, or by using phonetic algorithms. However, this approach assumes that these variables are free of errors and completely observed, which is often not the case. To address this challenge, we have developed a Python package, BlockingPy , which relies on schema-agnostic blocking using modern approximate nearest neighbour search and graph algorithms to reduce the number of comparisons. The package supports both CPU and GPU execution. In this paper, we present the design of the package, its functionalities and two case studies related to official statistics. The presented software will be useful for researchers interested in linking data from various sources.

Publication Details

Journal
SoftwareX
Published
2026-03-07
DOI
https://doi.org/10.1016/j.softx.2026.102583
Primary Topic
Data Quality and Management
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

BlockingPy: approximate nearest neighbours for blocking of records for entity resolution

SoftwareX
Data Quality and Management
article

BlockingPy: approximate nearest neighbours for blocking of records for entity resolution

article en

Abstract

Entity resolution (probabilistic record linkage, deduplication) is a key step in scientific analysis and data science pipelines involving multiple data sources. The objective of entity resolution is to link records without common unique identifiers that refer to the same entity (e.g., person, company). However, without identifiers, researchers need to specify which records to compare in order to calculate matching probabilities and reduce computational complexity. One solution is to deterministically block records based on some common variables, such as names, dates of birth, or sex, or by using phonetic algorithms. However, this approach assumes that these variables are free of errors and completely observed, which is often not the case. To address this challenge, we have developed a Python package, BlockingPy , which relies on schema-agnostic blocking using modern approximate nearest neighbour search and graph algorithms to reduce the number of comparisons. The package supports both CPU and GPU execution. In this paper, we present the design of the package, its functionalities and two case studies related to official statistics. The presented software will be useful for researchers interested in linking data from various sources.

SoftwareXVol. 34
Openalex Percentile: Top 36%
Data Quality and Management
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

BlockingPy: approximate nearest neighbours for blocking of records for entity resolution · SoftwareX (2026) | TGRS Research Map | TGRS