- From: Ivan Herman <ivan@w3.org>
- Date: Fri, 27 May 2011 11:49:24 +0200
- To: Andy Seaborne <andy.seaborne@epimorphics.com>
- Cc: public-rdf-wg@w3.org
On May 27, 2011, at 11:23 , Andy Seaborne wrote: > > > On 25/05/11 17:50, Antoine Zimmermann wrote: >> All, >> >> >> [disclaimer: I am not vehemently in favour of that proposal, just expressing my thoughts aloud.] > > In the same spirit: just thinking aloud. Ditto > > One of the limitations of datatypes is that lexical space is a 1D, the set of sequences of characters. If we generalise datatypes for RDF to a "representation space" which can be multi-dimensional, we can formulate and relate language tagged datatypes quite simply. > > Restricting the representation space to 1D space of strings, we get back to lexical space and compatibility with XSD etc. > > rdf:String is a datatype where the rep space is > (unicode strings) union (unicode strings, validLangTags) > The value space is <string> union <string,validLangTags> > > rdf:LangTaggedString is a derived datatype of rdf:String, restricting the represenation space to (unicode strings, validLangTags). > > rdf:lang{langTag} is a derived datatype of rdf:LangTaggedString, restricting the representation space to (unicode strings, {langTag}) But, I believe, the alternative idea was slightly different. If we remove rdf:LangTaggedString from the equation altogether, and we keep only the rdf:lang-{langtag} as a series of datatypes, then the representation space is simply unicode strings plus a specific datatype. Ie, just like we have "1"^^xsd:integer "1"^^xsd:double that are (afaik) disjoint as different, we would have "a"^^rdf:lang-en "a"^^xsd:string different. "a" is a shortcut for "a"^^xsd:string "a"@en is a shortcut for "a"^^rdf:lang-en there is a question whether we would define rdf:lang-en as a subtype (subclass) of xsd:string; and it seems to be safer not to do that. SPARQL str() returns the unicode string and drops the datatype for all combination. Ivan > > "foo"@en is special syntax ("foo", "en"). > (c.f. 123 for "123"^^xsd:string) > > SPARQL str() is defined to return the first element of a tuple. > > Then rdf:PlainLiteral is datatype with a 1D lexical space, encoding using "@" as a separator. > > (Does it say anywhere in RDF that derived datatypes must be subclasses?) > > Andy > ---- Ivan Herman, W3C Semantic Web Activity Lead Home: http://www.w3.org/People/Ivan/ mobile: +31-641044153 PGP Key: http://www.ivan-herman.net/pgpkey.html FOAF: http://www.ivan-herman.net/foaf.rdf
Received on Friday, 27 May 2011 09:47:15 UTC