Re: Rethinking how literals are defined

Markus,


Do you remember this thread on this very list?

http://lists.w3.org/Archives/Public/public-rdf-wg/2013Jul/0081.html



AZ

Le 18/11/2013 22:18, Guus Schreiber a écrit :
>
>
> 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
>>>
>>>
>>
>>
>
>

-- 
Antoine Zimmermann
ISCOD / LSTI - Institut Henri Fayol
École Nationale Supérieure des Mines de Saint-Étienne
158 cours Fauriel
42023 Saint-Étienne Cedex 2
France
Tél:+33(0)4 77 42 66 03
Fax:+33(0)4 77 42 66 66
http://zimmer.aprilfoolsreview.com/

Received on Tuesday, 19 November 2013 08:46:11 UTC