Re: Breadcrumbs proposal

Hi Jarno and all.

I quite like Jarno's nested example which is also the same as the proposal
from Egor / Yandex at http://www.w3.org/wiki/WebSchemas/Breadcrumbs. The
advantage of the current proposal is that it solves all the problems for
(1) multiple breadcrumb chains and (2) can be encoded in both microdata and
RDFa Lite in a very similar fashion (which is not the case for the ordered
approach). Also, both syntaxes are parsed today by Google's parser (see
below).

Here is the example in microdata (copied straight from the proposal):

<div itemscope itemtype="http://schema.org/WebPage">
  <!--First chain-->
  <div itemprop="breadcrumb" itemscope itemtype="
http://schema.org/Breadcrumb">
    <a itemprop="url" href="/category/books">
      <span itemprop="name">Books</span>
    </a>
    <!--Second level of the first chain-->
    <span itemprop="child" itemscope itemtype="http://schema.org/Breadcrumb
">
      <a itemprop="url" href="/category/books/classics">
        <span itemprop="name">Boring classics</span>
      </a>
    </span>
  </div>
    <!--Second chain-->
  <div itemprop="breadcrumb" itemscope itemtype="
http://schema.org/Breadcrumb">
    <a itemprop="url" href="/category/bicycles">
      <span itemprop="name">Bicycles</span>
    </a>
    <!--Second level of the second chain-->
    <span itemprop="child" itemscope itemtype="http://schema.org/Breadcrumb
">
      <!--Last element is not a hyperlink in html-->
      <!--but it has a hyperlink in microdata markup-->
      <span itemprop="name">For kids</span>
      <link itemprop="url" href="/category/bicycles/three-wheeled"/>
    </span>
  </div>
</div>


and the same example translated into RDFa Lite by simply renaming the
attributes and moving the http://schema.org/ piece into the vocab attribute:

<div vocab="http://schema.org/" typeof="WebPage">
  <!--First chain-->
  <div property="breadcrumb" typeof="Breadcrumb">
    <a property="url" href="/category/books">
      <span property="name">Books</span>
    </a>
    <!--Second level of the first chain-->
    <span property="child" typeof="Breadcrumb">
      <a property="url" href="/category/books/classics">
        <span property="name">Boring classics</span>
      </a>
    </span>
  </div>
    <!--Second chain-->
  <div property="breadcrumb" typeof="Breadcrumb">
    <a property="url" href="/category/bicycles">
      <span property="name">Bicycles</span>
    </a>
    <!--Second level of the second chain-->
    <span property="child" typeof="Breadcrumb">
      <!--Last element is not a hyperlink in html-->
      <!--but it has a hyperlink in microdata markup-->
      <span property="name">For kids</span>
      <link property="url" href="/category/bicycles/three-wheeled"/>
    </span>
  </div>
</div>

Both snippets above work in the Google Rich Snippet testing tool [1], and
you can try to paste the second snippet in the RDFa play tool [2] to view a
nice diagram of the breadcrumbs structure.

Steph.

[1] http://www.google.com/webmasters/tools/richsnippets
[2] http://rdfa.info/play/


On Mon, Jun 10, 2013 at 7:51 PM, Jarno van Driel <jarno@quantumspork.nl>wrote:

> To be a bit more clear where my point is going. (My previous response
> was a bit incomplete).
>
> ------------------------------------------------------
>
> In case the proposal is taken as a base (Nested):
>
> <!--First level of the first chain-->
> <p itemprop="breadcrumb" itemscope itemtype="http://schema.org/WebPage">
>   <a itemprop="url" href="/category/books">
>     <span itemprop="name">Books</span>
>   </a>
>   <!--Second level of the first chain-->
>   <span itemprop="child" itemscope itemtype="http://schema.org/WebPage">
>     <a itemprop="url" href="/category/books/classics">
>       <span itemprop="name">Boring classics</span>
>     </a>
>     <!--Third level of the first chain-->
>     <span itemprop="child" itemscope itemtype="http://schema.org/WebPage">
>       <a itemprop="url" href="/category/books/classics">
>         <span itemprop="name">Boring classics</span>
>       </a>
>     </span>
>   </span>
> </p>
>
> <!--First level of the second chain-->
> <p itemprop="breadcrumb" itemscope itemtype="http://schema.org/WebPage">
>   <a itemprop="url" href="/category/books">
>     <span itemprop="name">Books</span>
>   </a>
>   <!--Second level of the second chain-->
>   <span itemprop="child" itemscope itemtype="http://schema.org/WebPage">
>     <a itemprop="url" href="/category/books/classics">
>       <span itemprop="name">Boring classics</span>
>     </a>
>     <!--Third level of the second chain-->
>     <span itemprop="child" itemscope itemtype="http://schema.org/WebPage">
>       <a itemprop="url" href="/category/books/classics">
>         <span itemprop="name">Boring classics</span>
>       </a>
>     </span>
>   </span>
> </p>
>
> ------------------------------------------------------
>
> And in case the data-vocabulary style is taken as a base (Ordered):
>
> <!--First level of the first chain-->
> <p itemprop="breadcrumb" itemscope itemtype="http://schema.org/WebPage">
>   <a itemprop="url" href="/category/books">
>     <span itemprop="name">Books</span>
>   </a>
>   <!--Second level of the first chain-->
>   <span itemprop="child" itemscope itemtype="http://schema.org/WebPage">
>     <a itemprop="url" href="/category/books/classics">
>       <span itemprop="name">Boring classics</span>
>     </a>
>   <!--Third level of the first chain-->
>   <span itemprop="child" itemscope itemtype="http://schema.org/WebPage">
>     <a itemprop="url" href="/category/books/classics">
>       <span itemprop="name">Boring classics</span>
>     </a>
>   </span>
> </p>
>
> <!--First level of the second chain-->
> <p itemprop="breadcrumb" itemscope itemtype="http://schema.org/WebPage">
>   <a itemprop="url" href="/category/books">
>     <span itemprop="name">Books</span>
>   </a>
>   <!--Second level of the second chain-->
>   <span itemprop="child" itemscope itemtype="http://schema.org/WebPage">
>     <a itemprop="url" href="/category/books/classics">
>       <span itemprop="name">Boring classics</span>
>     </a>
>   <!--Third level of the second chain-->
>   <span itemprop="child" itemscope itemtype="http://schema.org/WebPage">
>     <a itemprop="url" href="/category/books/classics">
>       <span itemprop="name">Boring classics</span>
>     </a>
>   </span>
> </p>
>
> ------------------------------------------------------
>
> The way I see it imho - either way doesn't need a new type. In both
> cases it's resolved by adding a new property to WebPage.
>
>


-- 
Steph.

Received on Tuesday, 11 June 2013 02:32:13 UTC