The folder contains example implementations of selected research papers related to Graph Neural Networks. Note that the examples may not work with incompatible DGL versions.
- For examples working with the latest master (or the latest nightly build), check out https://github.com/dmlc/dgl/tree/master/examples.
- For examples working with a certain release, check out
https://github.com/dmlc/dgl/tree/<release_version>/examples
(E.g., https://github.com/dmlc/dgl/tree/0.5.x/examples)
To quickly locate the examples of your interest, search for the tagged keywords or use the search tool on dgl.ai.
- Lin et al. ARGO: An Auto-Tuning Runtime System for Scalable GNN Training on Multi-Core Processor. Paper link
-
Example code: PyTorch
-
Tags: semi-supervised node classification
-
- Zheng Wang et al. From Cluster Assumption to Graph Convolution: Graph-based Semi-Supervised Learning Revisited. Paper link
-
Example code: PyTorch
-
Tags: semi-supervised node classification
-
- Balin et al. Layer-Neighbor Sampling -- Defusing Neighborhood Explosion in GNNs. Paper link
- Example code: PyTorch
- Tags: node classification, weighted graphs, sampling
- Mallet et al. Learning Protein and Small Molecule binding sites in RNA molecules with 2.5D graphs. Paper link
- Example code: PyTorch
- Tags: semi-supervised node classification
- Xing et al. Learning Hierarchical Graph Neural Networks for Image Clustering.
- Example code: PyTorch
- Tags: clustering
- Ivanov et al. Boost then Convolve: Gradient Boosting Meets Graph Neural Networks. Paper link.
- Example code: PyTorch
- Tags: semi-supervised node classification, tabular data, GBDT
- Huang et al. Combining Label Propagation and Simple Models Out-performs Graph Neural Networks. Paper link.
- Example code: PyTorch
- Tags: efficiency, node classification, label propagation
- Zhao et al. Point Transformer. Paper link.
- Example code: PyTorch
- Tags: point cloud classification, point cloud part-segmentation
- Guo et al. PCT: Point cloud transformer. Paper link.
- Example code: PyTorch
- Tags: point cloud classification, point cloud part-segmentation
- Brody et al. How Attentive are Graph Attention Networks? Paper link.
- Example code: PyTorch
- Tags: graph attention, gat, gatv2, attention
- Thakoor et al. Large-Scale Representation Learning on Graphs via Bootstrapping. Paper link.
- Example code: PyTorch
- Tags: contrastive learning for node classification.
- Bouritsas et al. Improving Graph Neural Network Expressivity via Subgraph Isomorphism Counting. Paper link.
- Example code: PyTorch
- Tags: subgraph isomorphism counting, graph classification.
- Song et al. Network In Graph Neural Network. Paper link.
- Example code: PyTorch
- Tags: model-agnostic methodology, link prediction, open graph benchmark.
- Qin et al. BiPointNet: Binary Neural Network for Point Clouds. Paper link
- Example code: PyTorch
- Tags: point cloud classification, network binarization.
-
Wagh et al. EEG-GCNN: Augmenting Electroencephalogram-based Neurological Disease Diagnosis using a Domain-guided Graph Convolutional Neural Network. Paper link.
- Example code: PyTorch
- Tags: graph classification, eeg representation learning, brain activity, graph convolution, neurological disease classification, large dataset, edge weights, node features, fully-connected graph, graph neural network
-
Wang et al. Network Embedding with Completely-imbalanced Labels. Paper link.
- Example code: PyTorch
- Tags: node classification, network embedding, completely-imbalanced labels
-
Hassani and Khasahmadi. Contrastive Multi-View Representation Learning on Graphs. Paper link.
- Example code: PyTorch
- Tags: graph diffusion, self-supervised learning
-
Zhu et al. Deep Graph Contrastive Representation Learning. Paper link.
- Example code: PyTorch
- Tags: contrastive learning for node classification.
-
Feng et al. Graph Random Neural Network for Semi-Supervised Learning on Graphs. Paper link.
- Example code: PyTorch
- Tags: semi-supervised node classification, simplifying graph convolution, data augmentation
-
Hu et al. Heterogeneous Graph Transformer. Paper link.
- Example code: PyTorch
- Tags: dynamic heterogeneous graph, large-scale, node classification, link prediction
-
Chen. Graph Convolutional Networks for Graphs with Multi-Dimensionally Weighted Edges. Paper link.
- Example code: PyTorch on ogbn-proteins
- Tags: node classification, weighted graphs, OGB
-
Frasca et al. SIGN: Scalable Inception Graph Neural Networks. Paper link.
- Example code: PyTorch on ogbn-arxiv/products/mag, PyTorch
- Tags: node classification, OGB, large-scale, heterogeneous graph
-
Hu et al. Strategies for Pre-training Graph Neural Networks. Paper link.
- Example code: Molecule embedding, PyTorch for custom data
- Tags: molecules, graph classification, unsupervised learning, self-supervised learning, molecular property prediction
-
Marc Brockschmidt. GNN-FiLM: Graph Neural Networks with Feature-wise Linear Modulation. Paper link.
- Example code: PyTorch
- Tags: multi-relational graphs, hypernetworks, GNN architectures
-
Li, Maosen, et al. Graph Cross Networks with Vertex Infomax Pooling. Paper link.
- Example code: PyTorch
- Tags: pooling, graph classification
-
Liu et al. Towards Deeper Graph Neural Networks. Paper link.
- Example code: PyTorch
- Tags: over-smoothing, node classification
-
Klicpera et al. Directional Message Passing for Molecular Graphs. Paper link.
- Example code: PyTorch
- Tags: molecules, molecular property prediction, quantum chemistry
-
Rossi et al. Temporal Graph Networks For Deep Learning on Dynamic Graphs. Paper link.
- Example code: Pytorch
- Tags: temporal, node classification
-
Vashishth, Shikhar, et al. Composition-based Multi-Relational Graph Convolutional Networks. Paper link.
- Example code: PyTorch
- Tags: multi-relational graphs, graph neural network
-
Li et al. DeeperGCN: All You Need to Train Deeper GCNs. Paper link.
- Example code: PyTorch
- Tags: over-smoothing, deeper gnn, OGB
-
Bi, Ye, et al. A Heterogeneous Information Network based Cross DomainInsurance Recommendation System for Cold Start Users. Paper link.
- Example code: Pytorch
- Tags: cross-domain recommendation, graph neural network
-
Fu X, Zhang J, Meng Z, et al. MAGNN: metapath aggregated graph neural network for heterogeneous graph embedding. Paper link.
- Example code: OpenHGNN
- Tags: Heterogeneous graph, Graph neural network, Graph embedding
-
Zhao J, Wang X, et al. Network Schema Preserving Heterogeneous Information Network Embedding. Paper link.
- Example code: OpenHGNN
- Tags: Heterogeneous graph, Graph neural network, Graph embedding, Network Schema
-
Dou Y, Liu Z, et al. Enhancing Graph Neural Network-based Fraud Detectors against Camouflaged Fraudsters. Paper link.
- Example code: PyTorch
- Tags: Multi-relational graph, Graph neural network, Fraud detection, Reinforcement learning, Node classification
-
Zhang et al. Labeling Trick: A Theory of Using Graph Neural Networks for Multi-Node Representation Learning. Paper link.
- Example code: PyTorch
- Tags: link prediction, labeling trick, OGB
- Sun et al. InfoGraph: Unsupervised and Semi-supervised Graph-Level Representation Learning via Mutual Information Maximization. Paper link.
- Example code: PyTorch
- Tags: semi-supervised graph regression, unsupervised graph classification
- Bianchi et al. Graph Neural Networks with Convolutional ARMA Filters. Paper link.
- Example code: PyTorch
- Tags: node classification
- Klicpera et al. Predict then Propagate: Graph Neural Networks meet Personalized PageRank. Paper link.
- Chiang et al. Cluster-GCN: An Efficient Algorithm for Training Deep and Large Graph Convolutional Networks. Paper link.
- Example code: PyTorch, PyTorch-based GraphSAGE variant on OGB, PyTorch-based GAT variant on OGB
- Tags: graph partition, node classification, large-scale, OGB, sampling
- Veličković et al. Deep Graph Infomax. Paper link.
- Example code: PyTorch, TensorFlow
- Tags: unsupervised learning, node classification
- Ying et al. Hierarchical Graph Representation Learning with Differentiable Pooling. Paper link.
- Example code: PyTorch
- Tags: pooling, graph classification, graph coarsening
- Cen et al. Representation Learning for Attributed Multiplex Heterogeneous Network. Paper link.
- Example code: PyTorch
- Tags: heterogeneous graph, link prediction, large-scale
- Xu et al. How Powerful are Graph Neural Networks? Paper link.
- Example code: PyTorch on graph classification, PyTorch on node classification, PyTorch on ogbg-ppa, MXNet
- Tags: graph classification, node classification, OGB
- Koncel-Kedziorski et al. Text Generation from Knowledge Graphs with Graph Transformers. Paper link.
- Example code: PyTorch
- Tags: knowledge graph, text generation
- Wang et al. Heterogeneous Graph Attention Network. Paper link.
- Chen et al. Supervised Community Detection with Line Graph Neural Networks. Paper link.
- Example code: PyTorch
- Tags: line graph, community detection
- Wu et al. Simplifying Graph Convolutional Networks. Paper link.
- Wang et al. Dynamic Graph CNN for Learning on Point Clouds. Paper link.
- Example code: PyTorch
- Tags: point cloud classification
- Zhang et al. Graphical Contrastive Losses for Scene Graph Parsing. Paper link.
- Example code: MXNet
- Tags: scene graph extraction
- Lee et al. Set Transformer: A Framework for Attention-based Permutation-Invariant Neural Networks. Paper link.
- Pooling module: PyTorch encoder, PyTorch decoder
- Tags: graph classification
- Coley et al. A graph-convolutional neural network model for the prediction of chemical reactivity. Paper link.
- Example code: PyTorch
- Tags: molecules, reaction prediction
- Lu et al. Molecular Property Prediction: A Multilevel Quantum Interactions Modeling Perspective. Paper link.
- Example code: PyTorch
- Tags: molecules, quantum chemistry
- Xiong et al. Pushing the Boundaries of Molecular Representation for Drug Discovery with the Graph Attention Mechanism. Paper link.
- Example code: PyTorch (with attention visualization), PyTorch for custom data
- Tags: molecules, molecular property prediction
- Sun et al. RotatE: Knowledge Graph Embedding by Relational Rotation in Complex Space. Paper link.
- Example code: PyTorch, PyTorch for custom data
- Tags: knowledge graph
- Abu-El-Haija et al. MixHop: Higher-Order Graph Convolutional Architectures via Sparsified Neighborhood Mixing. Paper link.
- Example code: PyTorch
- Tags: node classification
- Lee, Junhyun, et al. Self-Attention Graph Pooling. Paper link.
- Example code: PyTorch
- Tags: graph classification, pooling
- Zhang, Zhen, et al. Hierarchical Graph Pooling with Structure Learning. Paper link.
- Example code: PyTorch
- Tags: graph classification, pooling
- Gao, Hongyang, et al. Graph Representation Learning via Hard and Channel-Wise Attention Networks Paper link.
- Example code: PyTorch
- Tags: node classification, graph attention
- Wang, Xiang, et al. Neural Graph Collaborative Filtering. Paper link.
- Example code: PyTorch
- Tags: Collaborative Filtering, recommender system, Graph Neural Network
- Ying, Rex, et al. GNNExplainer: Generating Explanations for Graph Neural Networks. Paper link.
- Example code: PyTorch
- Tags: Graph Neural Network, Explainability
- Zhang C, Song D, et al. Heterogeneous graph neural network. Paper link.
- Example code: OpenHGNN
- Tags: Heterogeneous graph, Graph neural network, Graph embedding
- Yun S, Jeong M, et al. Graph transformer networks. Paper link.
- Example code: OpenHGNN
- Tags: Heterogeneous graph, Graph neural network, Graph structure
- Li A, Qin Z, et al. Spam Review Detection with Graph Convolutional Networks. Paper link.
- Example code: PyTorch
- Tags: Fraud detection, Heterogeneous graph, Edge classification, Graph attention
- Liu Z, et al. Geniepath: Graph neural networks with adaptive receptive paths. Paper link.
- Example code: PyTorch
- Tags: Fraud detection, Node classification, Graph attention, LSTM, Adaptive receptive fields
- You J, et al. Position-aware graph neural networks. Paper link.
- Example code: PyTorch
- Tags: Positional encoding, Link prediction, Link-pair prediction
-
Li et al. Learning Deep Generative Models of Graphs. Paper link.
- Example code: PyTorch example for cycles, PyTorch example for molecules
- Tags: generative models, autoregressive models, molecules
-
Veličković et al. Graph Attention Networks. Paper link.
- Example code: PyTorch, PyTorch on ogbn-arxiv, PyTorch on ogbn-products, TensorFlow, MXNet
- Tags: node classification, OGB
-
Jin et al. Junction Tree Variational Autoencoder for Molecular Graph Generation. Paper link.
- Example code: PyTorch
- Tags: generative models, molecules, VAE
-
Thekumparampil et al. Attention-based Graph Neural Network for Semi-supervised Learning. Paper link.
- Example code: PyTorch
- Tags: node classification
-
Ying et al. Graph Convolutional Neural Networks for Web-Scale Recommender Systems. Paper link.
- Example code: PyTorch
- Tags: recommender system, large-scale, sampling
-
Berg Palm et al. Recurrent Relational Networks. Paper link.
- Example code: PyTorch
- Tags: sudoku solving
-
Yu et al. Spatio-Temporal Graph Convolutional Networks: A Deep Learning Framework for Traffic Forecasting. Paper link.
- Example code: PyTorch
- Tags: spatio-temporal, traffic forecasting
-
Zhang et al. An End-to-End Deep Learning Architecture for Graph Classification. Paper link.
- Pooling module: PyTorch, TensorFlow, MXNet
- Tags: graph classification
-
Zhang et al. Link Prediction Based on Graph Neural Networks. Paper link.
- Example code: PyTorch
- Tags: link prediction, sampling
-
Xu et al. Representation Learning on Graphs with Jumping Knowledge Networks. Paper link.
- Example code: PyTorch
- Tags: message passing, neighborhood
-
Zhang et al. GaAN: Gated Attention Networks for Learning on Large and Spatiotemporal Graphs. Paper link.
- Example code: pytorch
- Tags: Static discrete temporal graph, traffic forecasting
-
Feng et al. Hypergraph Neural Networks. Paper link.
- Example code: pytorch
- Tags: hypergraph
-
Kipf and Welling. Semi-Supervised Classification with Graph Convolutional Networks. Paper link.
- Example code: PyTorch, PyTorch on ogbn-arxiv, PyTorch on ogbl-ppa, PyTorch on ogbg-ppa, TensorFlow, MXNet
- Tags: node classification, link prediction, graph classification, OGB
-
Sabour et al. Dynamic Routing Between Capsules. Paper link.
- Example code: PyTorch
- Tags: image classification
-
van den Berg et al. Graph Convolutional Matrix Completion. Paper link.
- Example code: PyTorch
- Tags: matrix completion, recommender system, link prediction, bipartite graphs
-
Hamilton et al. Inductive Representation Learning on Large Graphs. Paper link.
- Example code: PyTorch, PyTorch on ogbn-products, PyTorch on ogbn-mag, PyTorch on ogbl-ppa, MXNet
- Tags: node classification, sampling, unsupervised learning, link prediction, OGB
-
Dong et al. metapath2vec: Scalable Representation Learning for Heterogeneous Networks. Paper link.
- Example code: PyTorch
- Tags: heterogeneous graph, network embedding, large-scale, node classification
-
Du et al. Topology Adaptive Graph Convolutional Networks. Paper link.
-
Qi et al. PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation. Paper link.
- Example code: PyTorch
- Tags: point cloud classification, point cloud part-segmentation
-
Qi et al. PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space. Paper link.
- Example code: PyTorch
- Tags: point cloud classification
-
Schlichtkrull. Modeling Relational Data with Graph Convolutional Networks. Paper link.
- Example code: PyTorch example using homogeneous DGLGraphs, PyTorch, TensorFlow, MXNet
- Tags: node classification, link prediction, heterogeneous graph, sampling
-
Vaswani et al. Attention Is All You Need. Paper link.
- Example code: PyTorch
- Tags: machine translation
-
Gilmer et al. Neural Message Passing for Quantum Chemistry. Paper link.
- Example code: PyTorch, PyTorch for custom data
- Tags: molecules, quantum chemistry
-
Gomes et al. Atomic Convolutional Networks for Predicting Protein-Ligand Binding Affinity. Paper link.
- Example code: PyTorch
- Tags: binding affinity prediction, molecules, proteins
-
Schütt et al. SchNet: A continuous-filter convolutional neural network for modeling quantum interactions. Paper link.
- Example code: PyTorch
- Tags: molecules, quantum chemistry
-
Li et al. Diffusion Convolutional Recurrent Neural Network: Data-Driven Traffic Forcasting. Paper link.
- Example code: Pytorch
- Tags: Static discrete temporal graph, traffic forecasting
- Li et al. Gated Graph Sequence Neural Networks. Paper link.
- Example code: PyTorch
- Tags: question answering
- Defferrard et al. Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering. Paper link.
- Example code: PyTorch on image classification, PyTorch on node classification
- Tags: image classification, graph classification, node classification
- Monti et al. Geometric deep learning on graphs and manifolds using mixture model CNNs. Paper link.
- Example code: PyTorch on image classification, PyTorch on node classification, MXNet on node classification
- Tags: image classification, graph classification, node classification
- Kearnes et al. Molecular Graph Convolutions: Moving Beyond Fingerprints. Paper link.
- Example code: PyTorch, PyTorch for custom data
- Tags: molecular property prediction
- Trouillon et al. Complex Embeddings for Simple Link Prediction. Paper link.
- Example code: PyTorch, PyTorch for custom data
- Tags: knowledge graph
- Thomas et al. Variational Graph Auto-Encoders. Paper link.
- Example code: PyTorch
- Tags: link prediction
-
Tang et al. LINE: Large-scale Information Network Embedding. Paper link.
- Example code: PyTorch on OGB
- Tags: network embedding, transductive learning, OGB, link prediction
-
Sheng Tai et al. Improved Semantic Representations From Tree-Structured Long Short-Term Memory Networks. Paper link.
-
Vinyals et al. Order Matters: Sequence to sequence for sets. Paper link.
-
Lin et al. Learning Entity and Relation Embeddings for Knowledge Graph Completion. Paper link.
- Example code: PyTorch, PyTorch for custom data
- Tags: knowledge graph
-
Yang et al. Embedding Entities and Relations for Learning and Inference in Knowledge Bases. Paper link.
- Example code: PyTorch, PyTorch for custom data
- Tags: knowledge graph
-
Duvenaud et al. Convolutional Networks on Graphs for Learning Molecular Fingerprints. Paper link.
- Example code: PyTorch, PyTorch for custom data
- Tags: molecules, molecular property prediction
-
Perozzi et al. DeepWalk: Online Learning of Social Representations. Paper link.
- Example code: PyTorch on OGB
- Tags: network embedding, transductive learning, OGB, link prediction
-
Fischer et al. A Hausdorff Heuristic for Efficient Computation of Graph Edit Distance. Paper link.
- Example code: PyTorch
- Tags: graph edit distance, graph matching
- Bordes et al. Translating Embeddings for Modeling Multi-relational Data. Paper link.
- Example code: PyTorch, PyTorch for custom data
- Tags: knowledge graph
-
Fankhauser et al. Speeding Up Graph Edit Distance Computation through Fast Bipartite Matching. Paper link.
- Example code: PyTorch
- Tags: graph edit distance, graph matching
-
Nickel et al. A Three-Way Model for Collective Learning on Multi-Relational Data. Paper link.
- Example code: PyTorch, PyTorch for custom data
- Tags: knowledge graph
- Hoffman et al. Online Learning for Latent Dirichlet Allocation. Paper link.
- Example code: PyTorch
- Tags: sklearn, decomposition, latent Dirichlet allocation
- Riesen et al. Speeding Up Graph Edit Distance Computation with a Bipartite Heuristic. Paper link.
- Example code: PyTorch
- Tags: graph edit distance, graph matching
- Neuhaus et al. Fast Suboptimal Algorithms for the Computation of Graph Edit Distance. Paper link.
- Example code: PyTorch
- Tags: graph edit distance, graph matching
- Zhu & Ghahramani. Learning from Labeled and Unlabeled Data with Label Propagation. Paper link.
- Example code: PyTorch
- Tags: node classification, label propagation
- Page et al. The PageRank Citation Ranking: Bringing Order to the Web. Paper link.
- Example code: PyTorch
- Tags: PageRank