- From: Johan De Smedt <johan.de-smedt@tenforce.com>
- Date: Fri, 24 Jun 2011 06:24:35 +0200
- To: "'Simon Spero'" <ses@unc.edu>, "'Antoine Isaac'" <aisaac@few.vu.nl>
- Cc: <public-esw-thes@w3.org>
- Message-ID: <4e041185.d339e30a.679b.ffff80b0@mx.google.com>
Hi, Form http://www.w3.org/TR/xml/#sec-lang-tag <http://www.w3.org/TR/xml/%23sec-lang-tag> , “For example: <p xml:lang="en">The quick brown fox jumps over the lazy dog.</p> <p xml:lang="en-GB">What colour is it?</p> <p xml:lang="en-US">What color is it?</p> <sp who="Faust" desc='leise' xml:lang="de"> <l>Habe nun, ach! Philosophie,</l> <l>Juristerei, und Medizin</l> <l>und leider auch Theologie</l> <l>durchaus studiert mit heißem Bemüh'n.</l> </sp> The language specified by xml:lang applies to the element where it is specified (including the values of its attributes), and to all elements in its content unless overridden with another instance of xml:lang. In particular, the empty value of xml:lang is used on an element B to override a specification of xml:lang on an enclosing element A, without specifying another language. Within B, it is considered that there is no language information available, just as if xml:lang had not been specified on B or any of its ancestors. Applications determine which of an element's attribute values and which parts of its character content, if any, are treated as language-dependent values described by xml:lang“ So I conclude that, without any outer context that pre-establishes a language, the following should be equivalent. <skos:prefLabel>Dog</skos:prefLabel> <skos:prefLabel xml:lang=””>Dog</skos:prefLabel> Kind Regards, Johan De Smedt From: public-esw-thes-request@w3.org [mailto:public-esw-thes-request@w3.org] On Behalf Of Simon Spero Sent: Friday, 24 June, 2011 03:28 To: Antoine Isaac Cc: public-esw-thes@w3.org Subject: Re: skos:prefLabel without language tag This definitely either is or isn't an issue :-) 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/#The_Comparison_of_rdf:PlainLiteral_Data_Values> http://www.w3.org/TR/rdf-plain-literal 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 <http://www.w3.org/TR/xpath-functions/#ERRFORG0006> err:FORG0006. On Thu, Jun 23, 2011 at 4:46 PM, Antoine Isaac <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> 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 [2] http://www.w3.org/TR/rdf-plain-literal/#The_Comparison_of_rdf:PlainLiteral_Data_Values
Received on Friday, 24 June 2011 04:25:19 UTC