schemaorg / schemaorg

Schema.org - schemas and supporting software
https://schema.org/
Apache License 2.0
5.4k stars 825 forks source link

Thing > Intangible > ItemList for e-commerce category pages #605

Open inetbiz opened 9 years ago

inetbiz commented 9 years ago

Several open source projects make available infoboxes of top X products, new for XXX month, Featured List of Products. I had been enclosing these in nav elements with an unstyled unordered list. Please allow instances of itemlist to be the parent of a div layer that contains a product, offer and review aggregate. https://schema.org/ItemList

mfhepp commented 9 years ago

I may not understand the problem, but nobody stops you from making a product or an offer part of an ItemList while at the same time link product and offer via offers or itemOffered.

foo:X a schema:ItemList;
    schema:itemListElement foo:P1, foo:P2.

foo:P1 a schema:Product;
    schema:name "Product 1";
    schema:offers [a schema:Offer ;
        schema:availability schema:InStock; 
        schema:price 55.00;
        schema:priceCurrency "USD] .

foo:P2 a schema:Product;
    schema:name "Product 2":
    schema:offers [a schema:Offer ;
        schema:availability schema:InStock; 
        schema:price 99.00;
        schema:priceCurrency "USD] .

The only thing you need in Microdata is either itemref or using global ids for the products/offers. We should not introduce any solution that is bound to a single syntax, anyway.

As far as I can see, this is a non-issue. I tentatively close it. Please reopen if needed.

inetbiz commented 9 years ago

Instances of ItemList may appear as values for the following properties Property recipeInstructions or track. So yah, that is not helpful information for e-commerce devs.

chaals commented 9 years ago

Sounds like a bug if those are the only things that can have ItemLists… is it in the documentation or in the underlying schema?

danbri commented 9 years ago

Those are the two properties that explicitly expect an ItemList as a possible value. @mfhepp 's example is the other way around, ... the items are in the itemlist. @inetbiz can you post a simple example here? it would help us to translate @mfhepp 's Turtle example into Microdata.

Note that example markup shows up here if you prefix it with whitespace.

e.g. here I put a few spaces and a blank line before the p tag:

<p>hello world</p>
mfhepp commented 9 years ago

I would hold that for the use case described, the top-level ItemList entity does not need to be the value of any property but could be an independent root node in the graph.

One could think about properties for linking the Web page or its structural elements with an ItemList, but I understood that our general consensus is that the elements for describing the structure of the HTML DOM are not really useful.

inetbiz commented 9 years ago

May I link to the demo site of PrestaShop category list items? Right now, category list items are just schema product over and over again. https://goo.gl/ZbRPwQ If that is ok then no worries. I simply was curious if there was a better way to indicate a category of products grouped together.

vholland commented 9 years ago

I wonder if we should create a ProductCatalog type that inherits from ItemList to make it clearer how to markup up these types of sites.

If we also had a ProductCatalogSection type, which is also an ItemList, we could easily distinguish when a list of lists is really a catalog with sections, each containing products.

(Forgive me if this isn't clear. I'm recovering from a sinus infection and still feeling a bit foggy.)

Dataliberate commented 9 years ago

There is a similar pattern I’ve been looking at in the bib area.

We are proposing a Collection type, that inherits from CreativeWork to describe a collection of things (with no ordering).

The next option would be to create an OrderedCollection type that inherits from both Collection and ItemList. This is very similar to what you are describing for ProductCatalog as no doubt you would want to identify things like who created it, when it was modified, etc.

Keep taking the tablets!

~Richard

On 19 Jun 2015, at 16:06, vholland notifications@github.com<mailto:notifications@github.com> wrote:

I wonder if we should create a ProductCatalog type that inherits from ItemList to make it clearer how to markup up these types of sites.

If we also had a ProductCatalogSection type, which is also an ItemList, we could easily distinguish when a list of lists is really a catalog with sections, each containing products.

(Forgive me if this isn't clear. I'm recovering from a sinus infection and still feeling a bit foggy.)

— Reply to this email directly or view it on GitHubhttps://github.com/schemaorg/schemaorg/issues/605#issuecomment-113541688.

inetbiz commented 9 years ago

I'd gladly switch to itemlist or ProductCatalog type if there were clarifications from the major search engines how they would use that data? Google had a nice snippet for tabular data. Something like Category Name and product count would be nice and even a price range.

Breadcrumb: Women >> Shoes >> Dress Cat Image Cat title Cat Description (25) Items $.01 ~ $135.00

inetbiz commented 9 years ago

@mfhepp Then on ItemList can you create an example on the schema.org page that has products AND nested categories?

inetbiz commented 9 years ago

@mfhepp Do you mean itemtype or itemscope? The example puts Products as the itemtype.

inetbiz commented 8 years ago

Bumping @mfhepp

inetbiz commented 8 years ago

@mfhepp Is there going to be an example? Few understand how to mark this up. Both in the PrestaShop eCommerce community or in osCommerce Online Merchant project.

inetbiz commented 7 years ago

How can this question go on for almost two years with no reply, @mfhepp ? Please let me know if there is going to be an example or one exists for an ecommerce store category page?

inetbiz commented 7 years ago

@danbri the example 1 seems to be faceted search results. See https://schema.org/ItemList I assume this is the parent node @mfhepp spoke of two years ago? This will be the same for a category page or use a collectionpage from webpage schema?

danbri commented 7 years ago

(aside: it is not @mfhepp's job to answer questions here or elsewhere; he has put huge efforts into schema.org and goodrelations but he can't be expected to provide front-line support for the millions of sites using the markup)

Ok, let's try to make some progress.

@inetbiz - "Example 1" in the schema.org ItemList page is simply showing how to markup a list of products each with offer(s). You could put such markup on category/collection pages but I'd suggest turning to documentation from the search engines on exactly which deployment practices make sense. Sometimes saying the same thing about the same entity lots of times doesn't particularly help and the markup might as well just live on the main page for that thing.

Can you share a current example for the kind of content you're trying to mark up?

inetbiz commented 7 years ago

I had assumed Mr. Hepp was in leadership for the org. https://github.com/thirtybees/community-theme-default/blob/1.1.x/category.tpl is the framework. Smarty block include https://github.com/thirtybees/community-theme-default/blob/1.1.x/product-list.tpl for the products. So we have itemlist of sub-cats and products assigned to cat.

Just want to laser focus on which vocab markup to use in microdata.

inetbiz commented 7 years ago
  1. http://schema.org/ItemPage
  2. How do unordered list of sub-cats become marked up?
  3. main entity / webpage element is http://schema.org/ItemList or product? a. product b. offer
github-actions[bot] commented 4 years ago

This issue is being tagged as Stale due to inactivity.