- From: Stéphane Corlosquet <scorlosquet@gmail.com>
- Date: Wed, 12 Oct 2011 10:56:49 -0400
- To: public-rdfa-wg@w3.org
- Message-ID: <CAGR+nnF+zQV+UwdAtoeXcU=KK3XJoJDFstx-hWbMzEDkwenVmw@mail.gmail.com>
Converting microdata to RDFa could be made easier by bypassing the vocab attribute. Microdata incorporates the concept of vocabulary in the data item type via @itemtype. Coming from a microdata perspective, the concept of vocabulary URI is an extra element (different from the item type) which could be avoided by the following proposal. Since there is a mechanism being designed to infer a vocabulary namespace from the microdata @itemtype, RDFa could use a similar mechanism, and use the first token of @typeof to construct the namespace that we currently put in @vocab. Consider the following microdata snippet: <div itemscope itemtype="http://schema.org/Person> My name is <span itemprop="name">John Doe</span>. </div> Currently to convert to RDFa, you need to split @itemtype into two attributes: @vocab and @typeof. What I'm suggesting is a direct mapping from @itemtype to @typeof without the need of @vocab, where @typeof would include the full URI: <div typeof="http://schema.org/Person> My name is <span property="name">John Doe</span>. </div> This would ease the RDFa to microdata and vice versa from a human standpoint. Note that I'm not suggesting to drop @vocab, but simply to make it optional, which would make the common microdata snippets a no brainer to convert to RDFa by a simple attributes string replace. In the processing model sequence, step 3 would have to include an extra step for the case where @vocab is missing, and use the same mechanism as Gregg is defining for microdata to RDF conversion. Here is a suggestion: [[[ 3. Next the current element is examined for any change to the default vocabulary via @vocab. If @vocab is present and contains a value, its value updates the local default vocabulary. If the value is empty, then the local default vocabulary must be reset to the Host Language defined default. If @vocab is not present but the first token of @typeof is an absolute URI, construct the local default vocabulary by removing everything following the last SOLIDUS U+002F ("/") or NUMBER SIGN U+0023 ("#") in the first token of @typeof. ]]] Thoughts? Steph.
Received on Wednesday, 12 October 2011 14:57:28 UTC