- From: Andy Seaborne <andy.seaborne@epimorphics.com>
- Date: Sat, 16 Jul 2011 16:52:55 +0100
- To: public-rdf-wg@w3.org
+1 but I have a suggestion as well as to how to make rdf:LangString a datatype. I'd rather make DATATYPE("foo"@en) be honest and say that it returns datatype rdf:LangString. If we don't want to go down the route of modifying the L2V(d) mapping to work on that "foo"@en form (Pat's 'move the quotes out one level') then we could use the machinery in the parser process where is is currently. Define the lexical space of rdf:LangString to be the empty set. That makes it impossible to write a valid rdf:LangString in ^^ form. Maybe someday, some future WG will change this but it will leave current RDF valid. The value space is still <Unicode string, language tag>. Syntax "foo"@en has it's own mapping from syntax to value. There's no reason why a Turtle parser does not have a rule, for Turtle and related syntaxes, that @ is treated in this way. In RDF/XM, it is the xml:lang causing a similar translation from XML syntax. Turtle parsers already have specific machinery for other datatype. e.g. 123 for "123"^^xsd:integer . Andy On 13/07/11 15:51, Richard Cyganiak wrote: > We have addressed one half of ISSUE-12, the half about string literals *without* language tags. > > Here's a proposal for the other half, string literals *with* language tags and rdf:PlainLiteral. This is a very minimalist proposal. > > Summary: > - add classes rdf:LangString and rdf:Text so we can better specify string literals as rdfs:range of properties > - add the technical term “language-tagged string” as an alternative to the current “plain literal with language tag” > - ask OWL and RIF WGs to update rdf:PlainLiteral document to reflect the RDF WG decisions > > (This completes my ACTION-62.) > > Best, > Richard > > > [[ > > A literal is either a typed literal or a language-tagged string. > > A language-tagged string is an<Unicode string, language tag> pair. > > "Plain literal with language tag" (from RDF 2004) is an alternative term for "language-tagged string". They are the same thing. > > rdf:LangString is the class of all language-tagged strings. It can be used in rdfs:range statements. > > rdf:Text is the class of all language-tagged strings and all Unicode strings. It can be used in rdfs:range statements. > > The RDF Concepts document is updated with the definitions above. No other changes to RDF Concepts. > > The RDF Semantics document is updated to make rdf:LangString and rdf:Text work. No other changes to RDF Semantics. > > The RDF Schema document is updated to add rdf:LangString and rdf:Text. No other changes to RDF Schema. > > The SPARQL WG is asked to *consider* whether DATATYPE("foo"@en) should return rdf:LangString instead of error. > > The OWL and RIF WGs are asked to make changes to the rdf:PlainLiteral specification: > > - Clarify that the purpose of the document is *solely* to provide > compatibility between RDF and specifications whose literal > design does not support language tags. > > - The spec should be changed to *only* cover strings *with* language > tags, because strings without language tags now always have a > datatype (xsd:string) and therefore don't need to be covered in this > spec. > > - Instead of defining its complete own datatype rdf:PlainLiteral, > the spec should only extend the rdf:LangString class so that > it can serve as a datatype. > > ]]
Received on Saturday, 16 July 2011 15:53:26 UTC