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

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>

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.

Regards,
Håvard M. Ottestad 
(developer of the RDF4J incremental SHACL engine)

Received on Monday, 25 March 2019 16:55:56 UTC