# SHACL Validation under Graph Updates (Extended Paper)

arXiv: https://arxiv.org/abs/2508.00137 · HTML: https://mlsanity.com/paper/2508.00137/

## Key facts

- No citing papers in the map yet (data through 14 Oct 2026).
- Builds on 7 of its 27 references that are in the map.
- First posted on arXiv 31 Jul 2025.

## Builds on (most cited first, 7 of 7)

- [SHACL: A Description Logic in Disguise](https://mlsanity.com/paper/2108.06096/) (2021)
- [Satisfiability and Containment of Recursive SHACL](https://mlsanity.com/paper/2108.13063/) (2021)
- [Static Analysis of Graph Database Transformations](https://mlsanity.com/paper/2304.05070/) (2023)
- [Schema Validation and Evolution for Graph Databases](https://mlsanity.com/paper/1902.06427/) (2019)
- [From Shapes to Shapes: Inferring SHACL Shapes for Results of SPARQL CONSTRUCT Queries (Extended Version)](https://mlsanity.com/paper/2402.08509/) (2024)
- [SHACL2FOL: An FOL Toolkit for SHACL Decision Problems](https://mlsanity.com/paper/2406.08018/) (2024)
- [Updating RDFS ABoxes and TBoxes in SPARQL](https://mlsanity.com/paper/1403.7248/) (2014)

## Abstract (arXiv)

SHACL (SHApe Constraint Language) is a W3C standardized constraint language for RDF graphs. In this paper, we study SHACL validation in RDF graphs under updates. We present a SHACL-based update language that can capture intuitive and realistic modifications on RDF graphs and study the problem of static validation under such updates. This problem asks to verify whether every graph that validates a SHACL specification will still do so after applying a given update sequence. More importantly, it provides a basis for further services for reasoning about evolving RDF graphs. Using a regression technique that embeds the update actions into SHACL constraints, we show that static validation under updates can be reduced to (un)satisfiability of constraints in (a minor extension of) SHACL. We analyze the computational complexity of the static validation problem for SHACL and some key fragments. Finally, we present a prototype implementation that performs static validation and other static analysis tasks on SHACL constraints and demonstrate its behavior through preliminary experiments.
