Skip to content

NodeExp composability / partial evaluation / parametrization #502

@VladimirAlexiev

Description

@VladimirAlexiev

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)
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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions