如何在schema.org Json-LD中指定多个选项(Car)?

How to specify multiple options (Car) in schema.org Json-LD?

我正在尝试描述一个 Car 对象,该对象具有关于发动机或变速箱的多个选项,被 aggregateOffer 引用为 itemOffered。

我想说明的是,这辆车可以有手动或自动变速箱,可以是新的或二手的,接受柴油或其他燃料等。我看到的两个选项如下:

1) 列出可能的变速箱和其他选项

"itemOffered" : {

    "vehicleTransmission": ["Automatic","Manual"],
    "fuelType": ["Diesel", "Essence"]

}

这会被解释为:这辆车要么是手动变速箱,要么是自动变速箱? 我担心这背后的语义会暗示所述汽车两者兼而有之。

2) 列出所有可能的汽车

"itemOffered": [

{
        "@type": "Car1",
        "fuelType": "Essence",
        "vehicleTransmission": "Automatic" },
{
        "@type": "Car2",
        "fuelType": "Essence",
        "vehicleTransmission": "Manual" }
]

但这可能会非常大,因为我有多种汽车报价和几种不同的选择,我最终会列出我的整个数据库。 澄清一下,这个 Car 对象的要点是附加到页面上的 aggregateOffer,在该页面上仅显示 aggregateOffer 而不是每个可用的报价。

第二种解释正确。如果您有一个 Car 和多个 fuelType 值,则所有这些值都适用于此 Car;它们不代表替代方案。

总之,AggregateOffer似乎不​​适合你的情况。此类型适用于同一产品的多个报价,不适用于不同(尽管相似)产品的多个报价:

When a single product is associated with multiple offers (for example, the same pair of shoes is offered by different merchants), then AggregateOffer can be used.

如果你不想list/repeat每个Car那么多属性,你可以利用ProductModel type. You can link ProductModel items with the isVariantOf property. Each variant model will inherit the features from its base product model, unless you "overwrite" them in the variant model. Each Car would then use the model属性来引用它的产品型号.
但是,如果您有特定的结构化数据消费者,他们可能不支持这种更复杂的结构。