我试图描述一个拥有多个引擎或变速箱选项的汽车对象,它被aggregateOffer引用为itemOffered。
我想指出,该汽车可以有手动或自动变速箱,可以是新的,也可以是旧的,可以接受柴油或其他燃料等。我看到以下两种选择:
1)列出可能的变速箱和其他选项
"itemOffered" : {
"vehicleTransmission": ["Automatic","Manual"],
"fuelType": ["Diesel", "Essence"]
}这会被解释为:汽车有手动或自动变速箱吗?我认为这背后的语义意味着这辆车两者兼有。
2)列出各种可能性的汽车清单
"itemOffered": [
{
"@type": "Car1",
"fuelType": "Essence",
"vehicleTransmission": "Automatic" },
{
"@type": "Car2",
"fuelType": "Essence",
"vehicleTransmission": "Manual" }
]但这可能是非常大的,因为我有多辆车提供了几种不同的选择,我最终会列出我的整个数据库。为了澄清,这个汽车对象的重点是附加到一个aggregateOffer的页面上,其中只有aggregateOffer显示,而不是每一个可用的出价。
发布于 2019-09-25 09:47:46
第二种解释是正确的。如果您有一个具有多个Car值的fuelType值,那么所有这些值都适用于此Car;它们并不代表替代方案。
无论如何,AggregateOffer似乎不适合你的情况。这种类型适用于同一产品的多个报价,而不是针对不同(尽管相似)产品的多个报价:
当单个产品与多个报价相关联时(例如,同一双鞋由不同的商家提供),则可以使用AggregateOffer。
如果不想为每个Car列出/重复这么多属性,可以使用ProductModel类型。可以将ProductModel项与isVariantOf属性链接。每个变体模型都将继承其基本产品模型中的特性,除非您在变体模型中“覆盖”它们。然后,每个Car将使用model属性来引用其产品模型。
但是,如果考虑到特定的结构化数据使用者,它们可能不支持这种更复杂的结构。
https://stackoverflow.com/questions/58094528
复制相似问题