Re: Comments on Draft

On 3/17/2015 13:18, Karen Coyle wrote:
>
> OK, then I think it may be time to open an issue on: is SPARQL 
> mandatory for the definition of SHACL constraints (meaning now and in 
> the future). Once that's decided, we can go forward.

Yes this needs to be decided upon. One question is whether there are 
cases that cannot be expressed in SPARQL. The subsets of SPARQL and 
XPath that Jose mentioned don't seem to be in that category. I can 
imagine however that some people will want to be able to call some 
complex JavaScript code or even web services that are specific to their 
application. In that case, we can prescribe whatever policy we want, and 
people will simply ignore it anyway. And this may be OK as long as they 
clearly stay within controlled environments. Some people may also be 
unwilling to use sh:sparql when they already have shx:javaScript, 
because it's just extra work for them.

Quite possibly even when we enforce a purist's view in the first version 
of SHACL, real-world users may teach us that they are not happy with 
that design.

So it's a very valid discussion to have, but its impact will be largely 
editorial.

>
> Again, I don't think we've defined a core, so speaking of core 
> templates to define a view is a bit premature. This "SHACL Core 
> Profile" that you assume that IBM would use, AFAIK, does not exist, 
> and I'll turn to Arthur to ask if this is consistent with his view.

The SHACL Core Profile is defined as the union of all templates in the 
SHACL namespace. It roughly corresponds to Resource Shapes 2.0. IBM may 
of course decide to use a different subset of that Core Profile, or add 
extra templates.

>
> Again, the question of mandatory needs to be resolved. But in general, 
> I do find that the draft reads as being ABOUT SPARQL more than it is 
> ABOUT SHACL. I would prefer it to be ABOUT SHACL, with SPARQL as a 
> support technology. Many of the edits that I have suggested speak to 
> this. It is a question of how things are worded.

Is this impression still the case? I have done my best to make sure that 
SPARQL is presented only in the second part of the specification. The 
introduction of course still needs to mention it, and there is a decent 
amount of SPARQL in there because this topic is more complex than just 
the simple core templates.

>
>>
>> "This version of SHACL defines SPARQL as the only execution language,
>> but other languages may be supported in future versions or by other
>> communities."
>
> "defines" -- SHACL doesn't define SPARQL - SPARQL is being used to 
> define SHACL, if anything. This is why I suggested "provides", or you 
> could say that SPARQL is used to define the SHACL constraints. And I 
> don't know why you say "only" there. That somewhat contradicts the 
> second part of the sentence, given that "only" implies exclusion. I'd 
> leave that word out.

Ok, changed to "This version of SHACL supports SPARQL as an execution 
language, but..."

>
> I'm less concerned about the term used than how it is defined. I don't 
> think we can state that we have "profiles" unless we define what that 
> means -- even if we define by example (although I'd prefer clear 
> definition).

The clear definition is in http://w3c.github.io/data-shapes/shacl/#profiles

Holger

Received on Tuesday, 17 March 2015 03:39:32 UTC