W3C home > Mailing lists > Public > public-vocabs@w3.org > September 2014

Re: schema.org Breadcrumb design on top of ItemList

From: Jarno van Driel <jarnovandriel@gmail.com>
Date: Fri, 19 Sep 2014 22:17:26 +0200
Message-ID: <CADK2AU18Pi7PLjp=Npo2G6y=XZj=dm2uQAYU1dBqE_=T5U42+g@mail.gmail.com>
To: Dan Brickley <danbri@google.com>
Cc: Aaron Bradley <aaranged@gmail.com>, W3C Web Schemas Task Force <public-vocabs@w3.org>, Stéphane Corlosquet <scorlosquet@gmail.com>
>
> "(This would replace/obsolete the existing unused
> http://schema.org/breadcrumb property)"


If I understand you correct you mean this for example:

<body vocab="http://schema.org/" typeof="WebPage">
  <ol typeof="BreadcrumbList">
    ...
  </ol>
</body>

But with keeping 'breadcrumb' as a property we would actually be able to
chain the BreadcrumbList to the WebPage:

<body vocab="http://schema.org/" typeof="WebPage">
  <ol property="breadcrumb" typeof="BreadcrumbList">
    ...
  </ol>
</body>

Or is this too much and is having both WebPage and BreadcrumbList being top
level entities good enough?

2014-09-19 21:15 GMT+02:00 Dan Brickley <danbri@google.com>:

> On 19 September 2014 20:05, Aaron Bradley <aaranged@gmail.com> wrote:
> > Glad to see the breadcrumb issue making its way back into the queue.
> >
> > What neither the description nor the example markup addresses is whether
> the
> > declared breadcrumbs do (or should) include the current page.
>
> In general most schema.org definitions only hint at "shoulds" and
> "musts" w.r.t. what a description ought to contain.
>
> Maybe
>
>  "A BreadcrumbList is an ItemList
> consisting of a list of Web pages, typically described using at least
> their URL and their name. A common pattern is for the list to
> represent a hierarchy from a top level entry point to the current page
> (or the page above it)."
>
> > Perhaps this is a vocabulary-agnostic matter insofar as individual data
> > consumers may have their own guidelines, and/or be able to figure out
> from
> > parsing the content (if one is on the page "../dresses/real" and you've
> > declared "../dresses/real" as your highest position breadcrumb one would
> > think Google et al. would be able to figure out that this breadcrumb and
> the
> > current page are one and the same).
> >
> > FWIW, though, Google [1] explicitly instructs webmasters to exclude the
> > current page when using data-vocabulary.org/Breadcrumb:
> >
> > "Each breadcrumb item should appear in order, with the first item
> > representing the top-level page, and the final item representing the
> parent
> > of the current page."
>
> My personal view (and I'm checking back with colleagues now that
> ItemList has settled down) is that the more explicit the better.
>
> > Also, if the example was actually meant to show the proposed type
> > BreadcrumbList in action, shouldn't it be employed in the example?
>
> Since the ItemList design is finished, I thought it worth working up
> an example that uses it - potentially for inclusion in the site asap.
> Hopefully it could be followed up soon afterwards by a dedicated type
> ("BreadcrumbList"? "BreadcrumbChain"?) if one is agreed.
>
> Dan
>
>
> > I.e. for microdata the shouldn't the type declaration:
> > <ol itemscope itemtype="http://schema.org/ItemList">
> > ... actually be:
> > <ol itemscope itemtype="http://schema.org/BreadcrumbList">
> >>
> >
> > [1] https://support.google.com/webmasters/answer/185417
> >
> >
> > On Fri, Sep 19, 2014 at 11:43 AM, Dan Brickley <danbri@google.com>
> wrote:
> >>
> >> Here's one more pass over the schema.org breadcrumb usecase for
> ItemList.
> >>
> >> As a recap, the challenge was to keep an ordered list of url + label
> >> pairs which survives the transformation into an extracted graph (aka
> >> triples). Thanks for everyone who jumped into this discussion already.
> >> I've just been going over the rdfa/microdata options with Stephane
> >> Corlosquet in IM and here's the best we can come up with.
> >>
> >> I won't go into all the boring and fiddly tradeoffs here, just the 3
> >> minimalistic examples showing a 2 item ordered list of link / anchor
> >> text pairs. We considered dropping the @typeof in the RDFa but it
> >> parses differently; while WebPage is quite an uninformative type, it
> >> has a few subtypes (http://schema.org/WebPage) that might be useful.
> >>
> >> As part of this, here's a one liner proposal for a "Breadcrumb" type,
> >> which would be used here in place of the initial ItemList:
> >>
> >> http://schema.org/BreadcrumbList: "A BreadcrumbList is an ItemList
> >> consisting of a list of Web pages, typically described using at least
> >> their URL and their name."
> >>
> >> (This would replace/obsolete the existing unused
> >> http://schema.org/breadcrumb property)
> >>
> >> The examples below work with the ItemList design recently agreed here
> >> directly:
> >>
> >> RDFa 1.1:
> >>
> >> <ol vocab="http://schema.org/" typeof="ItemList">
> >>   <li property="itemListElement" typeof="ListItem">
> >>     <a property="item" typeof="WebPage"
> >> href="https://example.com/dresses"><span
> >> property="name">Dresses</span></a>
> >>       <meta property="position" content="1">
> >>   </li>
> >> › <li property="itemListElement" typeof="ListItem">
> >>     <a property="item" typeof="WebPage"
> >> href="https://example.com/dresses/real"><span property="name">Real
> >> Dresses</span></a>
> >>     <meta property="position" content="2">
> >>   </li>
> >> </ol>
> >>
> >>
> >> Microdata:
> >>
> >> <ol itemscope itemtype="http://schema.org/ItemList">
> >>   <li itemprop="itemListElement" itemscope
> >> itemtype="http://schema.org/ListItem">
> >>     <a itemprop="item" href="https://example.com/dresses"><span
> >> itemprop="name">Dresses</span></a>
> >>     <meta itemprop="position" content="1" />
> >>   </li>
> >> › <li itemprop="itemListElement" itemscope
> >> itemtype="http://schema.org/ListItem">
> >>     <a itemprop="item" href="https://example.com/dresses/real"><span
> >> itemprop="name">Real Dresses</span></a>
> >>     <meta itemprop="position" content="2" />
> >>   </li>
> >> </ol>
> >>
> >> JSON-LD:
> >>
> >> {
> >>  "@context": "http://schema.org",
> >>  "@type": "ItemList",
> >>  "itemListElement":
> >>  [
> >>   {
> >>    "@type": "ListItem",
> >>    "position": 1,
> >>    "item":
> >>    {
> >>     "@id": "https://example.com/dresses",
> >>     "name": "Dresses"
> >>     }
> >>   },
> >>   {
> >>    "@type": "ListItem",
> >>   "position": 2,
> >>   "item":
> >>    {
> >>      "@id": "https://example.com/dresses/real",
> >>      "name": "Real Dresses"
> >>    }
> >>   }
> >>  ]
> >> }
> >>
> >
>
>
Received on Friday, 19 September 2014 20:17:54 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:29:44 UTC