RE: Rethinking how literals are defined

On Tuesday, November 19, 2013 9:46 AM, Antoine Zimmermann wrote:
> Markus,
> 
> Do you remember this thread on this very list?
> 
> http://lists.w3.org/Archives/Public/public-rdf-wg/2013Jul/0081.html

Sorry, I completely forgot that discussion. Nevertheless, I still find it
very strange define something that consists of two sets and only give a name
to one of the sets:

         Literals
 --------------------------
|            | lexic. val. |
| lexic. val |      +      |
|     +      |  datatype   |
| datatype   |      +      |
|            |  lang. tag  |
 --------------------------
    \              \
   ???              language-tagged strings

But yeah... so be it.. it's not the only decision this WG made that I find
very strange.


So, what the rewording modulo "typed value"?


--
Markus Lanthaler
@markuslanthaler



> 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 14:42:20 UTC