W3C home > Mailing lists > Public > public-esw-thes@w3.org > June 2011

Re: skos:prefLabel without language tag

From: Antoine Isaac <aisaac@few.vu.nl>
Date: Fri, 24 Jun 2011 08:34:19 +0200
Message-ID: <4E042FEB.1010505@few.vu.nl>
CC: public-esw-thes@w3.org
Hi,


> This definitely either is or isn't an issue :-)


+1. My only point is that an extra line of documentation would clarify the situation much better, rather than counting on the reader to go through what we are doing now, to find out whether given data are consistent or not ;-)


>The plain literal spec seems to treat the absence of a value for language tag as having the empty string as the language tag (rather than signalling an error). Since there doesn't seem to be a function to test for the presence or absence of a language tag, and since this behavior is consistent with xml:lang in RDF, this probably either isn't an issue, or is an issue for clarification below the SKOS level (probably in the rdf-plain-literal specification?)
>
> http://www.w3.org/TR/rdf-__plain-literal <http://www.w3.org/TR/rdf-plain-literal/#The_Comparison_of_rdf:PlainLiteral_Data_Values>
>
>
>             5.1.3 plfn:lang-from-PlainLiteral
>
>     Summary: returns the language tag l if $arg is an rdf:PlainLiteral data value of the form < s, l >, and returns the empty string if $arg is an rdf:PlainLiteral data value of the form s. If $arg is not of type rdf:PlainLiteral, this function raises type error err:FORG0006 <http://www.w3.org/TR/xpath-functions/#ERRFORG0006>.


In the same doc, they have:
"
[plfn:compare, the function comparing two literals $comparand1 and $comparand2] returns the empty sequence if one of the arguments is empty, if one of $comparand1 and $comparand2 has a language tag and the other one does not, or if the language parts of $comparand1 and $comparand2 are unequal.
"

The "if one of $comparand1 and $comparand2 has a language tag and the other one does not", as I understand it, would say that ["A"] is different from ["A"@] .

Elaborating on my point below, to answer Johan's comment, the RDF abstract syntax may in general NOT conflate "absence of tag" with "empty tagging". Even if some of the parsing rules for one concrete syntax (RDF/XML, in Johan's case) do make transformation that transform tag-less literals into literals with empty tags (or the opposite)

At the beginning I was thinking of not escalating that to the RDF group, but it seems their own spec could be made clearer...

Antoine

>
>
>
> On Thu, Jun 23, 2011 at 4:46 PM, Antoine Isaac <aisaac@few.vu.nl <mailto:aisaac@few.vu.nl>> wrote:
>
>     On 6/23/11 8:40 PM, Alan Ruttenberg wrote:
>
>         On Thu, Jun 23, 2011 at 1:52 PM, Houghton,Andrew<houghtoa@oclc.__org <mailto:houghtoa@oclc.org>> wrote:
>
>             Given these two situations:
>
>
>
>             <skos:prefLabel>Dog</skos:__prefLabel>
>
>             <skos:prefLabel xml:lang=>Dog</skos:__prefLabel>
>
>             Does the inclusion of *both* prefLabel in a SKOS concept result in breaking
>             the rule S14 that no two prefLabel should have the same lexical value for
>             the same language tag?
>
>
>         My read is that S14 is not applicable. In both cases the lexical value
>         is the same - a plain literal without language tag. The RDFXML doesn't
>         state that the language tag is "". It is syntax for the absence of a
>         language tag. These two are different in the value space - without a
>         language tag it is a string, with a language tag it is a pair of
>         strings. The set of plain literals without language tags is *not* the
>         set of pairs (string , "").
>
>         Since the rule as stated applies to literals *with* language tags
>         (they can't be the same unless they are there), S14 would not seem to
>         be applicable.
>
>         That said, this looks like a hole in the spec. It was probably the
>         intention to also include the case that no two prefLabel without
>         language tag have the same lexical value.
>
>         -Alan
>
>
>
>     Yes, it certainly was.
>
>     I have to admit I don't know if there is a hole. It may seem reasonable that there exist some syntactic matching between literals having an empty tag and literals having no tag, as Simon reports.
>
>
>
>         I think section 6.12 of the rdf syntax spec does result in the defaulting of language to at least "" in production 7.2.16- there doesn't seem to be another literal production that passes the language feature. I must admit that I am not certain how general this assumption is- there are other specs that seem to distinguish between <s> and <s,l>, but I think only <s> \equiv <s,""> is consistent?
>
>         Simon
>
>
>
>     However, this may be specific to one syntax.
>     The RDF abstract syntax and other specs are not mentioning that sort of things. Especially, the way the identity conditions are spelled out at [1,2] seem to argue against amalgamating absence of tag with presence of any tag (including an empty one).
>
>     Anyway, it could be that the simplest thing to do is to publish an erratum to clarify the original intent, rather than go into a discussion that is difficult, and would perhaps just be against a moving target, as RDF is currently being worked on... I'll forward the issue.
>
>     Cheers,
>
>     Antoine
>
>     [1]http://www.w3.org/TR/rdf-__concepts/#section-Literal-__Equality <http://www.w3.org/TR/rdf-concepts/#section-Literal-Equality>
>     [2] http://www.w3.org/TR/rdf-__plain-literal/#The_Comparison___of_rdf:PlainLiteral_Data___Values <http://www.w3.org/TR/rdf-plain-literal/#The_Comparison_of_rdf:PlainLiteral_Data_Values>
>
>
Received on Friday, 24 June 2011 06:31:32 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 24 June 2011 06:31:33 GMT