Logical Expressivity and Explanations for Monotonic GNNs with Scoring Functions

Matthew Morris, David J. Tena Cucala, Bernardo Cuenca Grau
8/14/2025
cs.LGcs.AIcs.LO

No confident code implementation found for this paper.

Abstract

Graph neural networks (GNNs) are often used for the task of link prediction: predicting missing binary facts in knowledge graphs (KGs). To address the lack of explainability of GNNs on KGs, recent works extract Datalog rules from GNNs with provable correspondence guarantees. The extracted rules can be used to explain the GNN's predictions; furthermore, they can help characterise the expressive power of various GNN models. However, these works address only a form of link prediction based on a restricted, low-expressivity graph encoding/decoding method. In this paper, we consider a more general and popular approach for link prediction where a scoring function is used to decode the GNN output into fact predictions. We show how GNNs and scoring functions can be adapted to be monotonic, use the monotonicity to extract sound rules for explaining predictions, and leverage existing results about the kind of rules that scoring functions can capture. We also define procedures for obtaining equivalent Datalog programs for certain classes of monotonic GNNs with scoring functions. Our experiments show that, on link prediction benchmarks, monotonic GNNs and scoring functions perform well in practice and yield many sound rules.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{morris2025logical,
  title  = {Logical Expressivity and Explanations for Monotonic GNNs with Scoring Functions},
  author = {Matthew Morris and David J. Tena Cucala and Bernardo Cuenca Grau},
  year   = {2025},
  eprint = {2508.14091},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2508.14091v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2508.14091.svg)](https://codeofpaper.com/paper/2508.14091)

Discussion