This change breaks the excessively long chain of sh:node statements in the shape leading to recursion issues in pyshacl.
In essence most of the sh:node statements in the shapes could be removed, since this is also covered by sh:targetObjectsOf of the object shape.
I now only made a minimal change by removing one sh:node statement. But IMO we could remove all of them that match the above.
@DylanVanAssche what is your opinion on this?
This change breaks the excessively long chain of
sh:node
statements in the shape leading to recursion issues in pyshacl. In essence most of thesh:node
statements in the shapes could be removed, since this is also covered bysh:targetObjectsOf
of the object shape.So, if we have:
we can omit
:x sh:node :z
.I now only made a minimal change by removing one sh:node statement. But IMO we could remove all of them that match the above. @DylanVanAssche what is your opinion on this?