Re: sh:uniqueLang "1"^^xsd:boolean .

Hi Andy,

Thanks for chiming in.

Do you feel that "1"^^xsd:boolean should be invalid syntax?

Håvard

> On 25 Mar 2019, at 19:12, Andy Seaborne <andy.seaborne@topquadrant.com> wrote:
> 
> 
> 
> On Mon, 25 Mar 2019 at 16:56, Håvard Ottestad <hmottestad@gmail.com <mailto:hmottestad@gmail.com>> wrote:
> Hi,
> 
> I came across this little bugger in the test-suite and I would like to propose to have it removed.
> 
> I’m talking about the uniqueLang-002 test which contains:   sh:uniqueLang "1"^^xsd:boolean . 
> 
> The W3C RDF Turtle 1.1 spec mentions that there are only two legal values for booleans (true or false): https://www.w3.org/TR/turtle/#booleans <https://www.w3.org/TR/turtle/#booleans>
> 
> That is referring to the short forms true and false in syntax. 
> 
> The Turtle spec ought really to say which RDF term it is short for; the canonical form being the obvious choice.
> (It is supposed to be the same as SPARQL sec 4.1.2 - seems the text didn't get copied over.)
> 
> 
> It links to the XML Schema definition of xsd:boolean where there are four legal syntax values for boolean: true, false, 1, 0
> 
> It furthermore states that there are only two canonical values for boolean: true, false
> 
> https://www.w3.org/TR/xmlschema-2/#boolean <https://www.w3.org/TR/xmlschema-2/#boolean>
> 
> The definition in the SHACL spec is as follows:
> ###########
> If $uniqueLang is true then for each non-empty language tag that is used by at least two value nodes, there is a validation result.
> ###########
> 
> My argument is that, unless the SHACL spec specifies the syntactical representation of the boolean, then it is moot to have a test that checks the syntax rather than the semantics.
> 
> I agree that  "true"^^xsd:boolean or true should be used in line with the end of sec 1.2
> 
>     Andy
> 
> 
> 
> Regards,
> Håvard M. Ottestad 
> (developer of the RDF4J incremental SHACL engine)

Received on Monday, 25 March 2019 18:36:36 UTC