Re: Comments on this afternoon session on Turtle (ISSUE-12)

On 4/16/2011 11:26 AM, Richard Cyganiak wrote:
> (Tagging this as ISSUE-12)
> On 14 Apr 2011, at 14:50, Antoine Zimmermann wrote:
>> I don't want xs:string to be marked as archaic because if it is,
>> then it means that I am not welcome to write something like:
>> :passportNumber  rdfs:range  xs:string .
> Personally I don't mind xsd:string being used in range declarations
> to indicate that the value has to be a plain literal without language
> tag.

What do you think should be the return of datatype("foo")? I'd like it 
to be xs:string.

> The problem with xsd:string typed literals is that for authors, the
> choice between "foo" and "foo"^^xsd:string is arbitrary, but those
> who want to query the data or access it in an API need to know what
> choice the author made. This is a constant source of usability
> issues. Hence the desire to normalize both forms internally.

Agreed. Note that either approach (normalizing to plain literals or to 
xs:string literals) would accomplish this.


>> Still, I am in favour of simplifying things, so instead of doing
>> nothing, I would rather have plain literals without language tag
>> removed altogether and replaced by typed literals of type
>> xs:string.
> I think it's important that the canonical form is "foo" rather than
> "foo"^^xsd:string because writing the latter is awkward in all
> syntaxes.

I agree, but I don't think the syntax issue is a big deal. What I would 
propose is something like:

+ Eliminate (or make archaic or what not) plain literals from RDF 
abstract syntax.

+ Note that all plain literals ought to be interpreted as xs:string 
literals, in all syntaxes. In Turtle, this would mean that "foo" is a 
syntactic shortcut for "foo"^^xs:string, the same way that 14 is a 
shortcut for "14"^^xsd:integer.

Basically, I'm motivated by:

* datatype("foo") = xs:string
* ...retaining the ability to have properties with rdfs:range xs:string
* ...retaining the ability to write "foo" in Turtle and Turtle-like syntaxes
* ...having "foo" match "foo"^^xs:string in SPARQL basic graph pattern 


> Best, Richard

Received on Saturday, 16 April 2011 17:33:27 UTC