Re: On the inevitability of SPARQL/SPIN for SHAQL

On 2/28/2015 19:51, Jose Emilio Labra Gayo wrote:
>
> 3.- Define new macros using SPARQL. This is for me the most 
> controversial point. I may agree to have some mechanism to define 
> macros in the language, but i would not impose those macros to be 
> defined only in SPARQL. If we want macros with parameters and so, we 
> can add some language construct to define macros. Defining those 
> macros directly in SPARQL is a language mistake. It means that the 
> high level language (Shacl) allows users to define functions in the 
> low level language (SPARQL). It would be as if Java programmers could 
> define their methods using bytecodes.

The comparison with Java bytecode is IMHO not appropriate - nobody 
except some extreme geeks would hand-code Java bytecode, while SPARQL is 
sufficiently well established and provides the right level of expressivity.

Could you clarify what alternative language constructs to define macros 
you envision? How would you cover the various requirements currently 
under "Complex Constraints" such as string and math operations?

>
> 4.- Use SPARQL to construct error messahes. I think this is not needed 
> and we can just define some vocabulary of error messages or some 
> Post-Schema-Validation data structure with information about the errors.

I disagree. We have lots of evidence that it is necessary to construct 
human-readable error messages and SPARQL provides the necessary building 
blocks (e.g. a BIND(CONCAT(...) AS ?message) at the end of a WHERE 
clause. Some examples can be found at

https://www.w3.org/2014/data-shapes/wiki/EPIM_ReportingHub

How would a generic post-schema-validation data structure have enough 
information to communicate something like

|Your company (", ?companyName, ") is not the operator of the BAA or licence associated with well bore ", ?wellBoreName|


or

|Unregistered well bore name ", ?wellBoreName|


Thanks,
Holger

Received on Sunday, 1 March 2015 06:58:34 UTC