Re: Rethinking how literals are defined

+1 to Guus on "typed value". I don't see why we need to name this category at all, but if we must, then "literal without a language tag" or "untagged literal" or 'tagless literal" are all viable alternatives. 

Also, the language tag is not "optional" for literals with type rdf:langString.

Otherwise, excellent.

Pat


On Nov 18, 2013, at 3:18 PM, Guus Schreiber <guus.schreiber@vu.nl> wrote:

> 
> 
> 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.

My understanding of what we decided was that this should be a *syntax* error, ie not legal RDF. We could I guess invoke a rule that says that 'missing' lang tags in the surface syntax are actually the tag ENG, but that might be seen as too anglohegemonaeic.

Pat


>> 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
>>> 
>>> 
>> 
>> 
> 
> 

------------------------------------------------------------
IHMC                                     (850)434 8903 home
40 South Alcaniz St.            (850)202 4416   office
Pensacola                            (850)202 4440   fax
FL 32502                              (850)291 0667   mobile (preferred)
phayes@ihmc.us       http://www.ihmc.us/users/phayes

Received on Tuesday, 19 November 2013 18:32:58 UTC