[data-shapes] NodeExp composability / partial evaluation / parametrization (#502)

VladimirAlexiev has just created a new issue for https://github.com/w3c/data-shapes:

== NodeExp composability / partial evaluation / parametrization ==
These are some vague ruminations on
- How composable are NodeExprs?
- Are they amenable to partial evaluation?
- How parameterizable are they?
- Is there some Combinator or Lambda calculus hidden behind them?

SPIN and Constraint Components do this sort of stuff, but I don't see them in the current draft https://raw.githack.com/w3c/data-shapes/master/shacl12-node-expr/index.html

**Use case 1**: Composition
(Inspired by @HolgerKnublauch example in [#484](https://github.com/w3c/data-shapes/issues/484#issuecomment-3170494909))
`shnex:filterShape` filters a nodeset by a constraint. Assume a lot of the time that will be a single `sh:property` constraint.
- Will it be possible to define a custom shortcut like
`ex:filterProperty [...]` that expands to `shnex:filterShape [sh:property [ ... ]]`

**Use case 2**: Parametrization
(Inspired by https://raw.githack.com/w3c/data-shapes/master/shacl12-node-expr/index.html#EstonianCompanyShapeExample)
- How to parameterize a generic shape "Organization in Country" with `<type>, <country>`
- How to evaluate it partially (substitute the params) to derive "Company in Estonia" and "University in Bulgaria" shapes?


Please view or discuss this issue at https://github.com/w3c/data-shapes/issues/502 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Tuesday, 12 August 2025 09:34:31 UTC