w3c / data-shapes

RDF Data Shapes WG repo
89 stars 33 forks source link

important aspects of SHACL Core not covered by shacl-shacl shapes graph #62

Closed pfps closed 7 years ago

pfps commented 7 years ago

The SHACL shapes graph that is supposed to check for syntactic validity of shapes graphs passes some invalid shapes graphs that are hard for SHACL users to check for validity.

For example, the following shape is not legal but is not caught by the shapes graph ex:s1 a sh:PropertyShape ; sh:targetNode ex:i ; sh:pattern "48*(9" .

There are several plausible ways for SHACL implementations to implement shapes like these: one way is to reject the shape as illegal; another is to just pass the pattern value into SPARQL as if it was a legal pattern. Different results arise from these two implementation methods.

This leads to significant interoperability concerns for SHACL because, as stated above, it is difficult for users to manually check the validity of these shapes.

irenetq commented 7 years ago

SHACL shapes graph is not supposed to catch every possible syntactic issue with a shapes graph. It is intended to only catch issues that can be detected by applying SHACL to SHACL. More specifically, the WG has identified that the validity of regular expressions can't be detected by using shacl-shacl.

So, your observation is correct, shapes with the issue in the sh:pattern value will not be caught. This limitation is known to the working group.