W3C

– DRAFT –
SHACL Rules TF

14 January 2026

Attendees

Present
AndyS, DavidHabgood, Livio, Oggy, Robert, simonstey
Regrets
-
Chair
-
Scribe
DavidHabgood

Meeting minutes

<AndyS> present?

<DavidHabgood> Agenda: scheduling for future meetings; whether to still talk to Derta re. n3; work items for document esp. syntax variants

Andy: agenda for today is: scheduling for future meetings; whether to still talk to Doethe re. n3; work items for document esp. syntax variants

timeslot: Wednesday is best for everyone, at current time 10:30 UTC

AndyS: do we still want meeting with Dörthe, scheduling across timezones can be difficult. Worth coming up with wording around differences, e.g. logic system w/ rules vs. datalog

<AndyS> https://w3c.github.io/N3/spec/

<AndyS> and https://w3c.github.io/N3/spec/semantics.html

Andy: will try to schedule a slot on Wednesday, if not Tuesday

Livio: some items still unclear, e.g. aggregates
… would be good to clarify difference w/ n3

AndyS: need to be careful on difference in writing for standard vs academic paper; standard to be normative
… also have options e.g. w3c notes, or adding to github discussions as means to include other information, comparisons
… suggest focus on defining SHACL rules, and see whether a comparison is required, can review comments for input

simonstey: will be comments on comparisons to n3, RIF; could go into primer, else expecting comments around reinventing existing

Robert: is it worth justifying decisions in the spec a bit

AndyS: could mention SHACL AF to show the demand for such a spec

simonstey: might be better to focus on justifying decisions rather than comparisons with others

Livio: can't compare against all others

Robert: consider complexity of comparing with other things

AndyS: the other techs show a need/demand; SHACL rules is an attempt to bring it closer to SHACL/SPARQL

<simonstey> https://www.w3.org/DesignIssues/OldNotation3Grammar.html 2001

Oggy: good to understand intent/motivation for spec in addition to the specs as well

syntax

AndyS: RULE .. WHERE .. , IF .. THEN .., Datalog one with curly brackets. Has to be something to terminate a rule body, otherwise blurs into next rule
… EBNF strictly, rules must be on one line, char at end of line is a terminator, this is how not run into head of next production
… would need to do arbitrary lookaheads as can be many rules

Livio: do we also allow backtracking, as in prolog, "goal seek" behaviour

AndyS: not same as backtracking in prolog; no backtracking symbols or notion of "cut"
… can be an implementation detail. Can do brute force forward chain, query outcome
… can allow property functions as part of a SPARQL engine doing inference with rules

simonstey: how would the integration work, rules and sparql

AndyS: would work separately, call each other

Robert: graphwise has a current rule language, has some limitations, looking to implement SHACL 1.2 incl. rules
… use cases where owl reasoning is overkill; completion of KG use cases
… negation as failure is a useful feature for these cases

AndyS: would the implementation cover/be in RDF4J

Robert: potentially as they're tightly related

<AndyS> [8] Rule ::= Rule1 | Rule2 | Rule3 | Declaration

<AndyS> [9] Rule1 ::= 'RULE' HeadTemplate 'WHERE' BodyPattern

<AndyS> [10] Rule2 ::= 'IF' BodyPattern 'THEN' HeadTemplate

<AndyS> [11] Rule3 ::= HeadTemplate ':-' BodyPattern

Andy: RULE/WHERE and IF/THEN can accommodate people's different conceptual models
… third datalog syntax :- if any could be the one to remove

Livio: people will likely converge on one format; if to pick one, would pick Rule2

Oggy: is there any impact with having the RDF format for rules

simonstey: doesn't necessarily need to support arbitrary SHACL constructs

AndyS: non single valued functions do not fit in with the current abstract syntax

simonstey: Rule3 syntax it is datalog like but not quite so can be confusing anyway

Robert: Rule3 similar to other syntaxes as well

AndyS: actions on the end of rules, go through one pass of actions, IF THEN could be a good fit for the actions

consensus is 1&2 support different mental models

AndyS: actions are open, like CONSTRUCT, less restrictions, could allow more arbitrary creation of terms in an action

Oggy: old problem of combining constraint language + open world language e.g. OWL; papers on compiling rules into SHACL itself

<AndyS> https://www.w3.org/TR/rif-owl-rl/

Robert: OWL fragments, has requirements around explicit typing, could use SHACL to check syntax first, then rules on top of this

Oggy: e.g. could complete type hierarchy using rules before doing other operations w/ OWL

<AndyS> https://www.w3.org/TR/shacl12-core/#dfn-shacl-subclass

simonstey: part of historical reason for inclusion of RDFS in SHACL was to accommodate interests from different people

Robert: RDFS subclassing built in can be problematic, is odd that there isn't an equivalent sub property of

<simonstey> eiter

<Oggy> Thomas Eiter

<simonstey> https://informatics.tuwien.ac.at/people/thomas-eiter

Oggy: have a proof of completeness

Livio: entailment discussion, how did it end

AndyS: out of scope for rules, can refer to an entailment regime

Minutes manually created (not a transcript), formatted by scribe.perl version 248 (Mon Oct 27 20:04:16 2025 UTC).

Diagnostics

Succeeded: s/Derta/Doethe/

Succeeded: s/Doethe/Dörthe/

Succeeded: s/Derta/Dörthe/

Found 'Agenda:' not followed by a URL: 'scheduling for future meetings; whether to still talk to Derta re. n3; work items for document esp. syntax variants'.

Maybe present: Andy, timeslot

All speakers: Andy, AndyS, Livio, Oggy, Robert, simonstey, timeslot

Active on IRC: AndyS, DavidHabgood, Oggy, simonstey