I tested on the playground with the following shape:
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix ex: <http://example.org/> .
ex:ClassShape a sh:NodeShape ;
sh:targetClass ex:C ;
sh:property [
sh:path ex:p ;
sh:maxCount 1
] .
As expected, the following instance has no violation:
@prefix ex: <http://example.org/> .
<tag:b0> a ex:C ; ex:p 0 .
<tag:b1> a ex:C ; ex:p 1 .
However, if I use blank nodes as follows, I get a max count violation:
@prefix ex: <http://example.org/> .
_:b0 a ex:C ; ex:p 0 .
_:b1 a ex:C ; ex:p 1 .
This should make no difference according to the standard, right?
I tested on the playground with the following shape:
As expected, the following instance has no violation:
However, if I use blank nodes as follows, I get a max count violation:
This should make no difference according to the standard, right?