- From: Patrick Stickler <patrick.stickler@nokia.com>
- Date: Thu, 06 Jun 2002 14:27:11 +0300
- To: "ext Thomas B. Passin" <tpassin@comcast.net>, RDF Interest <www-rdf-interest@w3.org>
On 2002-06-05 16:14, "ext Thomas B. Passin" <tpassin@comcast.net> wrote: > > [Patrick Stickler] > >> Choosing URIs as values allows one to localize the interface >> using alternate labels in other languages. Literal values would >> be less internationally oriented. >> >> E.g. >> >> <cv:Sex rdf:about="voc:blackeye.vsaa.lv/cv/sex/male"> >> <rdfs:label xml:lang="en">Male</rdfs:label> >> <rdfs:label xml:lang="fi">Mies</rdfs:label> >> ... >> </cv:Sex> >> > > I don't understand what triples would be produced by these statements. It's > my general lack of understanding about how xml:lang plays with everything > else. I'd appreciate some enlightenment. > > Each rdfs:label represents the same kind of property (with the same URI), > and you can't hang a modifier or property off a predicate. But you also > can't have a property on a literal. Now if there were an anonymous node for > each label, with a language property alomg with the literal, that would > work, but the above does not define any bnodes. > > I could also see creating subproperties of rdfs:label, like rdfs:label-eng, > but that wasn't done above either. > > So how does this work? At the moment (and I can't say this is my preference) literals in RDF are structured objects, not just strings. They are comprised of a single bit, which designates the parseType, the actual string value, and a language tag, if specified by xml:lang. Thus, the triples produced by the above RDF/XML are (using qnames for clarity ;-) <voc:blackeye.vsaa.lv/cv/sex/male> rdf:type cv:Sex . <voc:blackeye.vsaa.lv/cv/sex/male> rdfs:label "Male"-en . <voc:blackeye.vsaa.lv/cv/sex/male> rdfs:label "Mies"-fi . Now, applications are then supposed to filter/select literal values based on language. There are some folks (myself included ;-) who would prefer for the xml:lang attribute to be treated the same as any arbitrary property, namely resulting in a blank node with the xml:lang attribute as a property. Thus: <voc:blackeye.vsaa.lv/cv/sex/male> rdf:type cv:Sex . <voc:blackeye.vsaa.lv/cv/sex/male> rdfs:label _:x . _:x rdf:value "Male" . _:x xml:lang "en" . <voc:blackeye.vsaa.lv/cv/sex/male> rdfs:label _:y . _:y rdf:value "Mies" . _:y xml:lang "fi" . which would expose the language qualification to RDF applications in a more native manner. Still, in either case, what you have are multiple language qualified labels which constitute an implicit selection set, from which an application can choose the preferred one. Yet the identity of the controlled value itself is canonical. Cheers, Patrick -- Patrick Stickler Phone: +358 50 483 9453 Senior Research Scientist Fax: +358 7180 35409 Nokia Research Center Email: patrick.stickler@nokia.com
Received on Thursday, 6 June 2002 07:23:10 UTC