Duke is a fast and flexible record linkage engine. It does not use the traditional blocking (sort by key) approach, but instead relies on Lucene. This makes it high-performance (able to process 1,000,000 records in ~10 minutes). Duke can be run from the command line, but also has an API allowing incremental linking applications to be built easily. It supports reading data from CSV, JDBC, SPARQL, and NTriples, and also supports a number of string comparators and string normalizers.
| Tags | Deduplication Record linkage Entity resolution |
|---|---|
| Licenses | Apache 2.0 |
| Operating Systems | Java Runtime Environment 1.5 |
| Implementation | Java Lucene |
| Translations | English |
Recent releases


Release Notes: The internals have been cleaned and refactored, adding some performance tuning parameters. There are new cleaners, support for pluggable backends, a new naïve in-memory backend, and much more.


Release Notes: This release adds a more flexible API, a new cleaner (for personal names), two new data sources (in-memory and JNDI), and a number of bugfixes. Some additional utilities have also been added.


Release Notes: This release offers a cleaned-up API and more comparators.


Release Notes: This version fixes a number of bugs and adds a number of improvements. Example data and setup are now included in the distribution. New JaroWinklerTokenized and DifferentComparator comparators were provided along with a new DebugCompare command, more flexibility in the CSV data source, better reporting of configuration errors, and a --verbose option.


Release Notes: The first version.
An all-in-one Linux server for small- and medium-sized businesses.
A Java based visual component for generation and recognition of 1D and 2D barcodes.