We discussed this on our call today. The example was multiple dc:title properties for human-readable labels for properties.
Someone asked, "Why not use the xml:lang attribute on the dc:title element?" This works for RDF/XML but is not part of the RDF data model. In order to describe this at the RDF data model level, we have two options: 1. For plain text literal values, RDF lets you append a language tag, e.g. "Hello"@en for English, "Bonjour"@fr for French. You can have multiple properties, one per language. 2. For rich text, you can use the xml:lang attribute in the XML literal content, i.e. on an enclosing <span> or <div> element. There are two designs are: 2.1 Use one property and put all the translations in the content, e,g. <span xml:lang="en">Hello</span><span xml:lang="fr">Bonjour</span>. The application would parse the content and select the right part. This is probably messy for queries. 2.2 Use muttiple properties, one per language. This is cleaner. Again, no there is no easy way to query since you need to parse the content of each property. As I understand this requirement dc:title is being used as property metadata (like rdfs:label). Therefore the total amount of translated text is small since there is a small amount of metadata. An application would probably read all the metadata so the query issue is not really a factor. Given that we are just interested in translations of property labels, and property labels are normally plain text, then it makes more sense to use rdfs:label instead of dc:title, and use plain text literal values with optional language tags. (design #1) This also makes query easier (if we extend the query syntax to allow language tags). [1] http://www.w3.org/TR/rdf-schema/#ch_label Regards, ___________________________________________________________________________ Arthur Ryman, PhD, DE Chief Architect, Project and Portfolio Management IBM Software, Rational Markham, ON, Canada | Office: 905-413-3077, Cell: 416-939-5063 Twitter | Facebook | YouTube
