- From: Antoine Zimmermann <antoine.zimmermann@insa-lyon.fr>
- Date: Fri, 13 May 2011 17:51:27 +0200
- To: public-rdf-wg@w3.org
Le 13/05/2011 17:00, Richard Cyganiak a écrit : > On 13 May 2011, at 15:33, Alex Hall wrote: >> It's for this reason that I'd prefer to keep rdf:PlainLiteral out of the core RDF specs and reserve it for exchanging language-tagged literals with systems that don't support that notion. Having to deal with the extraneous '@' for literals without language tags seems like needless complexity for what should be a simple string manipulation. > > Strong +1. Earlier I tried to work out the changes to the spec that would be required to make rdf:PlainLiteral the unified representation of strings, and it's a bloody mess and I really don't want to go there. I kept my notes on the wiki anyways: > http://www.w3.org/2011/rdf-wg/wiki/StringLiterals/SyntacticSugarProposal > >> If we're going to say that everything has a datatype, I'd prefer to see "foo" get normalized to "foo"^^xsd:string. But my reasons there are more aesthetic; it just seems wrong to single out that one particular primitive datatype and say that it should not be used. >> > >> FWIW, my preferred approach would be to: >> 1. Say that every literal has *either* a datatype *or* a language tag. >> 2. Say that the datatype of the surface form "foo" is xsd:string. > > This feels weird. Ok, "foo" is of type string, even though the type is implicit, I can understand that. But why is it no longer a string if I tag it as English? Shouldn't it still have an implicit type of string? So you have replaced one weird thing (multiple ways of representing a string) with another weird thing (a notion of string datatypes that doesn't make sense). > > I think the sensible way would be: > 1) every literal has *both* a datatype and a (possibly empty) language tag; If all literals have both, then you may have something like: "2"^^xsd:integer@en which is silly. Of course, you could forbid it but then the proposal sounds silly too: "1) every literal has both a datatype and a language tag but the language tag is always empty except for some strings." "Either/or" instead of "both" seems preferable. AZ > 2) of the built-in datatypes, only xsd:string can have non-empty language tags; > 3) plain literals and rdf:PlainLiterals don't exist; > 4) "foo" in concrete syntaxes is syntactic sugar for "foo"^^xsd:string. > 5) "foo"@en in concrete syntaxes is syntactic sugar for "foo"^^xsd:string@en. > > This *might* work better than the rdf:PlainLiteral mess when translated into spec changes, but raises BC issues, and requires changes to syntax specs to add the syntactic sugar, so I prefer the proposal that says implementations MAY unify to plain literals, as it doesn't require changes to the abstract syntax. > >> As long as the surface forms "foo" and "foo"^^xsd:string get normalized to the same thing (or systems have permission to do such normalization) then I'm happy. > > Good to hear that. > > Best, > Richard -- Antoine Zimmermann Researcher at: Laboratoire d'InfoRmatique en Image et Systèmes d'information Database Group 7 Avenue Jean Capelle 69621 Villeurbanne Cedex France Tel: +33(0)4 72 43 61 74 - Fax: +33(0)4 72 43 87 13 Lecturer at: Institut National des Sciences Appliquées de Lyon 20 Avenue Albert Einstein 69621 Villeurbanne Cedex France antoine.zimmermann@insa-lyon.fr http://zimmer.aprilfoolsreview.com/
Received on Friday, 13 May 2011 15:51:55 UTC