- From: Aaron Bradley <aaranged@gmail.com>
- Date: Fri, 19 Sep 2014 12:05:34 -0700
- To: Dan Brickley <danbri@google.com>
- Cc: W3C Web Schemas Task Force <public-vocabs@w3.org>, Stéphane Corlosquet <scorlosquet@gmail.com>
- Message-ID: <CAMbipBuaZSjrRJBF=zb60R-eMsNXk7G_mLPa=2mfAva1NoqDow@mail.gmail.com>
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. 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." Also, if the example was actually meant to show the proposed type BreadcrumbList in action, shouldn't it be employed in the example? 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 19:06:02 UTC