This list contains awesome code for knowledge graph embedding models (KGEMs). It doesn't contain single model research repositories nor more general graph machine learning packages like PyTorch-Geometric.
- PyKEEN
- AmpliGraph
- Pykg2vec
- StellarGraph
- PyTorch-BigGraph
- Deep Graph Library
- Paddle Graph Learning
- CogKGE
- Marius
- GraphVite
- LibKGE
- OpenKE
- μKG
PyKEEN is a PyTorch-based KGEM library for training and evaluation of knowledge graph embedding models. It is built with a modular architecture so the model, loss function, training loop, and other components can be used interchangably.
PyKEEN 1.0: A Python Library for Training and Evaluating Knowledge Graph Embeddings
Mehdi Ali, Max Berrendorf, Charles Tapley Hoyt, Laurent Vermue, Sahand Sharifzadeh, Volker Tresp, and Jens Lehmann
JMLR, 2021
Install with:
$ pip install pykeen
AmpliGraph is a suite of neural machine learning models for relational Learning, a branch of machine learning that deals with supervised learning on knowledge graphs.
Install with:
$ pip install ampligraph
Pykg2vec is a library for learning the representation of entities and relations in Knowledge Graphs built on top of PyTorch 1.5 (TF2 version is available in tf-master branch as well). It attempts to bring state-of-the-art knowledge graph embedding algorithms and the necessary building blocks in the pipeline of knowledge graph embedding task into a single library.
Pykg2vec: A Python Library for Knowledge Graph Embedding
Shih-Yuan Yu, Sujit Rokka Chhetri, Arquimedes Canedo, Palash Goyal, and Mohammad Abdullah Al Faruque
JMLR, 2021
Install with:
$ pip install pykg2vec
The StellarGraph library offers state-of-the-art algorithms for graph machine learning, making it easy to discover patterns and answer questions about graph-structured data.
Install with:
$ pip install stellargraph
PyTorch-BigGraph (PBG) is a distributed system for learning graph embeddings for large graphs, particularly big web interaction graphs with up to billions of entities and trillions of edges.
PyTorch-BigGraph: A Large-scale Graph Embedding Framework
Adam Lerer, Ledell Wu, Jiajun Shen, Timothee Lacroix, Luca Wehrstedt, Abhijit Bose, and Alex Peysakhovich
Proceedings of the 2nd SysML Conference, 2019
Install with:
$ pip install torchbiggraph
DGL is an easy-to-use, high performance and scalable Python package for deep learning on graphs. DGL is framework agnostic, meaning if a deep graph model is a component of an end-to-end application, the rest of the logics can be implemented in any major frameworks, such as PyTorch, Apache MXNet or TensorFlow.
Deep Graph Library: A Graph-Centric, Highly-Performant Package for Graph Neural Networks
Minjie Wang, Da Zheng, Zihao Ye, Quan Gan, Mufei Li, Xiang Song, Jinjing Zhou, Chao Ma, Lingfan Yu, Yu Gai, Tianjun Xiao, Tong He, George Karypis, Jinyang Li, and Zheng Zhang
arXiv, 2020
Install with:
$ pip install dgl
Paddle Graph Learning (PGL) is an efficient and flexible graph learning framework based on PaddlePaddle.
Install with:
$ pip install pgl
A Knowledge Graph Embedding Toolkit and Benckmark for Representing Multi-source and Heterogeneous Knowledge
CogKGE: A Knowledge Graph Embedding Toolkit and Benchmark for Representing Multi-source and Heterogeneous Knowledge
Zhuoran Jin, Tianyi Men, Hongbang Yuan, Zhitao He, Dianbo Sui, Chenhao Wang, Zhipeng Xue, Yubo Chen, Jun Zhao
ACL, 2022
Install with:
$ pip install cogkge
Marius is a system for large-scale graph learning that supports large-scale link prediction training, and preprocessing and training of datasets.
Marius: Learning Massive Graph Embeddings on a Single Machine
Jason Mohoney, Roger Waleffe, Henry Xu, Theodoros Rekatsinas, and Shivaram Venkataraman
OSDI, 2021
Marius can't currently be installed directly from PyPI via pip
. See its installation docs instead.
GraphVite is a general and high-performance graph embedding system for various applications, designed for CPU-GPU hybrid architecture.
GraphVite: A High-Performance CPU-GPU Hybrid System for Node Embedding
Zhaocheng Zhu, Shizhen Xu, Meng Qu, and Jian Tang
arXiv, 2019
GraphVite can't currently be installed directly from PyPI via pip
. See its installation docs instead.
LibKGE is a PyTorch-based library for efficient training, evaluation, and hyperparameter optimization of knowledge graph embeddings.
LibKGE - A knowledge graph embedding library for reproducible research
Samuel Broscheit, Daniel Ruffinelli, Adrian Kochsiek, Patrick Betz, and Rainer Gemulla
EMNLP, 2020
LibKGE can't currently be installed directly from PyPI via pip
. See its installation docs instead.
OpenKE is an open-source framework for knowledge embedding organized by THUNLP based on the TensorFlow toolkit.
OpenKE: An Open Toolkit for Knowledge Embedding
Xu Han, Shulin Cao, Xin Lv, Yankai Lin, Zhiyuan Liu, Maosong Sun, and Juanzi Li
EMNLP, 2018
OpenKE can't currently be installed directly from PyPI via pip
. See its installation docs instead.
Warning This manuscript is not yet publicly available
μKG: A Library for Multi-source Knowledge Graph Embeddings and Applications
Xindi Luo, Zequn Sun, Wei Hu
ISWC, 2022
μKG can't currently be installed directly from PyPI via pip
. See its installation docs instead.
The full list can be downloaded in YAML here.