One place to find, run and compare entity-alignment models on DBP15K.
Entity Alignment (EA) research is scattered across dozens of repositories, each with its own data format, training loop and evaluation quirks. EntityAlignment-Nexus brings nine landmark methods together under a single, readable codebase with a shared data layer, shared metrics and a shared trainer pattern, so you can study a method, reproduce its numbers, and compare it to the others without re-learning a new project every time.
Every model ships twice:
- as an installable package (
code/) driven by one YAML config per model, and - as a self-contained notebook (
Notebook/) that re-implements the whole engine inline, documented cell by cell, so you can read a method top to bottom in one file.
|
Unified & faithful
|
Reproducible & transparent
|
flowchart LR
subgraph S["Structural"]
NAEA["NAEA<br/>IJCAI'19"]
BootEA["BootEA<br/>IJCAI'18"]
AliNet["AliNet<br/>AAAI'20"]
GCN["GCN-Align<br/>EMNLP'18"]
end
subgraph R["Relation-aware GNN"]
KECG["KECG<br/>EMNLP'19"]
MRAEA["MRAEA<br/>WSDM'20"]
RREA["RREA<br/>CIKM'20"]
end
subgraph A["Side information"]
JAPE["JAPE<br/>attributes<br/>ISWC'17"]
DGMC["DGMC<br/>entity names<br/>ICLR'20"]
end
DBP["DBP15K"] --> S & R & A
classDef s fill:#1f6feb,stroke:#58a6ff,color:#fff;
classDef r fill:#8957e5,stroke:#a371f7,color:#fff;
classDef a fill:#bf4b8a,stroke:#f778ba,color:#fff;
class NAEA,BootEA,AliNet,GCN s;
class KECG,MRAEA,RREA r;
class JAPE,DGMC a;
| Model | Venue | Family | One-line idea | Page |
|---|---|---|---|---|
| NAEA | IJCAI 2019 | structural + attention | Neighbourhood-aware GAT over translation-consistent messages | docs |
| BootEA | IJCAI 2018 | structural + bootstrap | AlignE TransE + alignment-by-swapping + editable MWGM self-training | docs |
| AliNet | AAAI 2020 | gated multi-hop GNN | 1-hop GCN + attentional 2-hop, fused by a learned gate | docs |
| KECG | EMNLP 2019 | GNN + TransE | Shared diagonal GAT cross-graph + knowledge-embedding loss | docs |
| GCN-Align | EMNLP 2018 | GCN | Functionality-weighted adjacency + shared 2-layer GCN (SE) | docs |
| JAPE | ISWC 2017 | TransE + attributes | Merged-seed TransE fused with a TF-IDF attribute channel | docs |
| DGMC | ICLR 2020 | name features + GNN | GloVe name features + sparse top-k neighbourhood consensus | docs |
| MRAEA | WSDM 2020 | meta-relation GNN | Relation + inverse aware GAT + iterative mutual-NN bootstrap | docs |
| RREA | CIKM 2020 | relational reflection | Householder reflection aggregation + turn-based CSLS bootstrap | docs |
DBP15K zh_en, 30% seed. Bold = this repo matches or beats the paper.
Full tables for ja_en / fr_en and training curves live in the results page.
| Model | Hit@1 (paper) | Hit@1 (here) | Hit@10 (paper) | Hit@10 (here) | MRR (paper) | MRR (here) |
|---|---|---|---|---|---|---|
| NAEA | 0.650 | ~0.62 | 0.867 | ~0.86 | 0.720 | ~0.70 |
| BootEA | 0.629 | ~0.56 | 0.847 | ~0.85 | 0.703 | ~0.66 |
| AliNet | 0.539 | ~0.53 | 0.826 | ~0.81 | 0.628 | ~0.63 |
| KECG | 0.477 | ~0.42 | 0.835 | ~0.73 | 0.598 | ~0.52 |
| GCN-Align (SE) | 0.384 | ~0.38 | 0.703 | ~0.68 | - | ~0.49 |
| JAPE (SE+AE) | 0.412 | 0.425 | 0.745 | 0.761 | 0.490 | 0.537 |
| DGMC (names) | 0.801 | 0.767 | 0.875 | 0.840 | - | - |
| MRAEA (base) | 0.638 | 0.659 | 0.882 | 0.898 | 0.729 | 0.746 |
| MRAEA (+iter) | 0.757 | 0.746 | 0.930 | 0.930 | 0.827 | 0.814 |
| RREA (basic) | 0.715 | 0.712 | 0.929 | 0.934 | 0.794 | 0.793 |
| RREA (semi) | 0.801 | 0.805 | 0.948 | 0.950 | 0.857 | 0.859 |
RREA (semi-supervised) is the current top performer in this repo.
DGMC, which uses entity names, even beats the paper on fr_en (Hit@1 0.939 vs 0.933).
# 1. install the package (editable)
cd code
pip install -e .
# 2. train any model from its YAML config
python -m src.main --config ../configs/rrea_dbp15k.yaml # RREA (semi-supervised)
python -m src.main --config ../configs/jape_dbp15k.yaml # JAPE (SE + attributes)
python -m src.main --config ../configs/dgmc_dbp15k.yaml --lang zh_en # DGMC (entity names)
# 3. override on the fly
python -m src.main --config ../configs/mraea_dbp15k.yaml --lang fr_en --epochs 2000Each run writes a timestamped folder (config snapshot, training.txt, loss.csv,
metrics.csv, dark-theme curves, checkpoints, embeddings).
Prefer reading over running? Open any notebook in
Notebook/- each one re-implements the full pipeline inline, documented cell by cell.
EntityAlignment-Nexus/
├── code/ # installable package (pip install -e .)
│ └── src/
│ ├── data.py # DBP15K loading + graph builders + samplers
│ ├── trainer.py # all 9 trainers (shared pattern)
│ ├── main.py # CLI entry point (YAML-driven)
│ ├── models/ # one file per model + its losses
│ └── utils/ # config, logging, metrics (MRR/Hit@k/CSLS), plotting
├── configs/ # one YAML per model
├── Notebook/ # 9 self-contained, documented notebooks
└── docs/ # MkDocs Material documentation site
# (training runs are written to a git-ignored logs/ directory)
A full MkDocs Material site (dark + light theme, Mermaid diagrams, math, training curves) covers every model in depth:
pip install -r requirements-docs.txt
mkdocs serve # live preview at http://127.0.0.1:8000It is deployed automatically to GitHub Pages on every push to main
(see .github/workflows/docs.yml).
The repo is built to grow. Next up: transformer-based entity-alignment models (self-attention encoders, pre-trained language model initialisation, and large-model EA pipelines). See the roadmap for the shortlist and how to propose a model.
Contributions are very welcome - a new model, a stronger config, a ja_en/fr_en run, or a
doc fix. The shared data.py / trainer.py / metrics.py make adding a model mostly a matter
of writing models/<your_model>.py, a trainer and a YAML. See the about page.
@software{ea_dbp15k,
title = {EntityAlignment-Nexus: A Unified Framework of Entity Alignment Models on DBP15K},
author = {Nadjib ZAHAF},
year = {2026},
url = {https://github.com/Z-Nadjib/EntityAlignment-Nexus}
}Released under the MIT License. The original papers and the DBP15K benchmark remain the property of their respective authors.