'Si'multaneous 'S'patial-'T'emporal Message Passing for Dynamic Graph Representation Learning
About
Dynamic graph neural networks (DGNNs) that operate on snapshot sequences typically fall into one of two categories. \emph{Temporal-first} approaches build per-node temporal embeddings and only afterwards perform spatial aggregation, whereas \emph{Spatial-first} approaches invert this order, feeding the output of a graph convolution into a downstream temporal module. In either case, the rigid sequencing forces the second stage to consume an already-compressed summary produced by the first, ruling out joint reasoning over topology and evolution; concretely, the message-passing operator never gets to weight a neighbor's contribution by that neighbor's \emph{past} trajectory. This paper introduces \textbf{SiST-GNN} (\textbf{Si}multaneous \textbf{S}patial-\textbf{T}emporal \textbf{GNN}), which fuses the two signals inside a single message-passing operation rather than chaining them. Concretely, at each snapshot we maintain a recurrent hidden state per node that summarises its history, pair it with the node's current feature vector, and treat the pair as two nodes joined by a cross-time edge; running a standard graph convolution on this temporally augmented graph yields the updated representation. Our empirical study spans nine public baselines and fourteen model-dataset combinations, covering both fixed-split and live-update evaluation regimes. Across every public benchmark, SiST-GNN sets a new state of the art in link prediction task over the strongest prior method by $109$--$277\%$ in the fixed-split setting and by $68$--$194\%$ in the live-update setting. We additionally construct three dynamic node-classification tasks by discretising the underlying continuous-time event streams; here SiST-GNN beats the leading discrete-time (DTDG) baseline by $7$--$22\%$ and matches continuous-time (CTDG) methods that consume the raw events directly.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Dynamic node classification | Reddit (test) | AUC-ROC72.27 | 22 | |
| Dynamic node classification | Wikipedia (test) | AUC-ROC84.76 | 22 | |
| Dynamic Link Prediction | UCI-Message (Live-update) | MRR32.8 | 17 | |
| Dynamic node classification | MOOC standard (test) | AUC0.8332 | 17 | |
| Dynamic Link Prediction | Bitcoin-OTC (Live-update) | MRR0.551 | 15 | |
| Dynamic Link Prediction | Bitcoin-Alpha (Live-update) | MRR0.519 | 15 | |
| Dynamic Link Prediction | Reddit-Body (Live-update) | MRR0.694 | 12 | |
| Dynamic Link Prediction | AS-733 (Live-update) | MRR59.9 | 11 | |
| Dynamic Link Prediction | Reddit-Title (Live-update) | MRR0.72 | 11 | |
| Dynamic Link Prediction | Bitcoin-OTC fixed-split | MRR0.83 | 10 |