- From: Richard Cyganiak <richard@cyganiak.de>
- Date: Sat, 16 Apr 2011 18:56:33 +0100
- To: Lee Feigenbaum <lee@thefigtrees.net>
- Cc: antoine.zimmermann@insa-lyon.fr, public-rdf-wg <public-rdf-wg@w3.org>
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 UTC