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

I don’t feel that SHACL gets to dictate syntax. Shapes can be represented in any language, jsonld, rdfxml or turtle. 

If “1”^^xsd:Boolean is the syntax equivalent to true; then it’s not up to the SHACL spec to specify which one is allowed. 

Håvard

> On 25 Mar 2019, at 20:24, Andy Seaborne <andy.seaborne@topquadrant.com> wrote:
> 
> In the technical sense of SHACL? (It's legal Turtle)
> 
> The test has a comment in it:
> 
>> # Note that the value above is "1"^^xsd:boolean, which is distinct from "true"^^xsd:boolean.
>> # Only true is mentioned in the spec, meaning that "1" will not activate the constraint
>> # and the constraint is being ignored.
> 
> which goes with the SHACL spec saying:
> 
>>  The property sh:uniqueLang can be set to true to specify that no pair of value nodes may use the same language tag.
> 
> and 
> sh:uniqueLang true to activate this constraint.
> it's not SHACL-true so this is not active.
> 
> I'm hesitant to say "invalid syntax" because it begs the question of "which syntax?"
> 
> 
>> On Mon, 25 Mar 2019 at 18:36, Håvard Ottestad <hmottestad@gmail.com> wrote:
>> 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> 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 19:31:45 UTC