- From: Guus Schreiber <guus.schreiber@vu.nl>
- Date: Mon, 18 Nov 2013 22:18:44 +0100
- To: Andy Seaborne <andy@apache.org>, <public-rdf-wg@w3.org>
On 18-11-13 22:06, Andy Seaborne wrote: > On 18/11/13 19:48, Markus Lanthaler wrote: >> On Monday, November 18, 2013 7:35 PM, Andy Seaborne wrote: >>> On 18/11/13 14:38, Markus Lanthaler wrote: >>>> One more thing :-) >>>> >>>> On Monday, November 18, 2013 3:33 PM, Markus Lanthaler wrote: >>>>> --------------%<----------------------- >>>>> Literals are used for values such as strings, numbers, and dates. >>>>> >>>> [...] >>>>> >>>>> A literal is a language-tagged string if the third element is present. >>>>> Lexical representations of language tags MAY be converted to lower >>>>> case. >>>>> The value space of language tags is always in lower case. >>>> >>>> A literal is a *typed value* if its datatype IRI does not equal >>>> rdf:langString. >>> >>> ?? It's always typed in RDF 1.1 >> >> Right. Literals consist of language-tagged strings and things that are >> literals but not language-tagged strings. I would like to give those >> things >> a name and proposed "typed value". >> >> >>> I think it's clearer if we say that literals always have a datatype. >> >> Isn't that obvious from the description in the other email ("A literal >> in an >> RDF graph consists of two or three elements...")? > > No, not obvious if there is something called a "typed value" that is > different from having a datatype and not related to "values" > > Why do we need terminology for "not rdf:langString" -- why not > terminology for "not xsd:string" which is special in TTL syntax forms as > well: > > :x :p "foo" . > :x :p "foo"@en . > :x :p "foo"^^my;type . > > > I find it very confusing to have "datatypes" and "typed values" and > "values" being different concepts. "typed values" is not the value of a > literal either as it is due to abstract syntax not the value space. +1 here. While I like most of the rephrasing the term "typed value" is indeed very confusing. I don't see why we need, anyway. Guus > > And > > :x :p "foo". > > is a typed value without the (data)type showing. > >> >> >>>> This would make it much easier to talk about "literals which are not >>>> language-tagged strings". >>> >>> Previous email: >>>> - if and only if the datatype IRI is rdf:langString, optionally a >>>> non-empty language tag as defined by [BCP47]. The language tag MUST >> be >>>> well-formed according to section 2.2.9 of [BCP47]. >>> >>> If it has a datatype of rdf:langString then it must have a language >>> tag. >>> >>> We ought to be clear about: >>> >>> "foo"^^rdf:langString >> >> This is not a language-tagged string but still a literal as far as I >> understand it. Is that correct? > > No idea - that's why I'm asking. > > Your text which say says there is an optional non-empty language tag and > it must be [BCP47] if the datatype is rdf:langString. > > This example fall outside that but it has a datatype IRI of > rdf:langString so it's covered by the "if and only if". > > I propose > > 1/ If the datatype is rdf:langString then there is a language tag string. > 2/ if the language tag string is not empty, it must be BCP47 syntax. > > I think it's important all impls do the same thing. Also, this is what > SPARQL supports (since 1.0) although was motivated by RDF/XML using > xml:lang="" for switching the language tag off if set further out. > > Andy > > >> >> >> -- >> Markus Lanthaler >> @markuslanthaler >> >> > >
Received on Monday, 18 November 2013 21:19:09 UTC