[data-shapes] Feature: `sh:deepEquals` and `sh:deepHasValue` (#346)

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

== Feature: `sh:deepEquals` and `sh:deepHasValue` ==
I'm just now looking at a use case where I want to ensure immutability of a property alongside possible subgraph triples.

```turtle
<foo>
  a ex:Foo ;
  ex:child [
    rdfs:label "bar" ;
    ex:child [
      rdfs:label "baz" ;
    ] ;
  ] ;
.
```

A Property Shape like below could be used to ensure that no property of `ex:child` and its descendants changes

```turtle 
[ 
  sh:path ex:child; 
  sh:deepHasValue [
    rdfs:label "bar" ;
    ex:child [
      rdfs:label "baz" ;
    ] ;
  ] ;
]
```

The underlying use case is a HTTP request where I want to ensure immutability of a property and its subgraph. So my shape triples would be only include `dash:readOnly` ...

```turtle
<>
  a sh:NodeShape ;
  sh:targetClass <FileData> ;
  sh:property [
    sh:path schema:encoding ;
    dash:readOnly true ;
  ] ;
.
```

... and I can dynamically generate `sh:deepHasValue` from the persisted resource state.

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


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

Received on Tuesday, 8 April 2025 08:24:44 UTC