Re: Reopening the discussion on sh:targetShape

A few comments: I haven't tried experimental code here except code I 
already have for incremental processing.

There are good arguments from everyone here on all the points.

1) The name "targetShape"! The shape isn't the target - it's the nodes 
in the data graph described by the shape in the shapes graph so 
"targetByShape" to be like "targetSubjectsOf".

2) I do not believe that performance on its own should be a blocker for 
a feature. It is important, and SHACL's focus on shapes is useful to get 
efficient implementation without a high burden, but it is another step 
to keep a feature out just because it's inefficient sometimes.  Not all 
data is large; expressivity is also important.

4) I support keeping the sh: namespace conservative. In fact, if AF is a 
living document, there is a case to have shx:, then gather 
implementation experience from users, before promoting to sh:

Implementation experience takes time to gather and is best if the 
details, not just reports, are public.

5) About examples 2, 3 and 4 and efficiency:

Both points of view are valid.

If validating a difference stream, they can be efficient for a large 
subset of constraints.

If on the whole dataset, it would need "compilation" of the shape to be 
better than the definition that is a step (small? large?) on the road to 
raising the implementation barrier.

     Andy

Received on Thursday, 9 July 2020 17:07:04 UTC