W3C home > Mailing lists > Public > public-rdf-wg@w3.org > April 2011

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

From: Richard Cyganiak <richard@cyganiak.de>
Date: Sat, 16 Apr 2011 18:56:33 +0100
Cc: antoine.zimmermann@insa-lyon.fr, public-rdf-wg <public-rdf-wg@w3.org>
Message-Id: <BBB63416-AB04-464D-9766-1332EA207DC9@cyganiak.de>
To: Lee Feigenbaum <lee@thefigtrees.net>
On 16 Apr 2011, at 18:32, Lee Feigenbaum wrote:
>> 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.

I don't have a strong preference. With programmer goggles on, xsd:string would certainly make sense, but legacy is a concern.

What do you think should be returned for datatype("chat"@en)?

>> 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.

Yes.

>> 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.

This would push the issue to the syntax level. Essentially, what should be a data model issue now becomes mandatory syntactic sugar in every syntax.

Would you forbid "foo" in N-Triples, or make that syntactic sugar for the typed form?

> 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 matching

You can have all of these with either proposal. The question is where to put all the special casing.

Best,
Richard



> 
> Lee
> 
>> Best, Richard
>> 
> 
Received on Saturday, 16 April 2011 17:57:02 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:25:41 GMT