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

On Mon, 25 Mar 2019 at 16:56, Håvard Ottestad <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
>

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
>
> 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:12:51 UTC