首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

理解并使用 Schema.org 词汇表(2)图书销售示例

理解并使用 Schema.org 词汇表(2)图书销售示例

图书销售示例清单 1 给出了一本在网络在售的图书 Things Fall Apart 的样本描述。
清单 1. 图书产品/报价信息
1
2
3
4
5
6
7
8
9
10
11
12
13
<div vocab="http://schema.org/" typeof="roduct">
  <img property="image" alt="book cover"
src="https://images.betterworldbooks.com/039/Things-Fall-Apart-Achebe-Chinua-9780393932195.jpg" />
  <a property="url" href="https://www.betterworldbooks.com/product/detail/Things-Fall-Apart-9780393932195">
    <span property="name">Things Fall Apart</span>
  </a>
  <div property="offers" typeof="Offer">
    <span property="priceCurrency" content="USD">$</span>
    <span property="price" content="8.48">8.48</span>
    (<span property="itemCondition" href="UsedCondition">used</span>,
    <span property="offerCount">2</span> available)
  </div>
</div>




此清单展示了该产品的基本描述、名称、图品,以及该产品的一组报价信息。报价是从以下方面进行描述的:
  • 价格
  • 计价货币
  • 该商品已被使用的事实
  • 该商品有两件的事实
枚举该出售的图书的条件是一个属性 itemCondition,它的值包含 Schema.org        中的多个特定的、已识别的值。这被称为一个枚举,被定义为一种特定类型的类 OfferItemCondition。这个特定的枚举有 4        个成员,包括:
  • DamagedCondition
  • NewCondition
  • RefurbishedCondition
  • UsedCondition
Offer 的另一个包含枚举值的属性是 availability。枚举类为          ItemAvailability,预期的值包括:
  • Discontinued
  • InStock
  • InStoreOnly
  • LimitedAvailability
  • OnlineOnly
  • OutOfStock
  • PreOrder
  • PreSale
  • SoldOut
属性 itemCondition 可用在 Offer 或 Product 上,但          availability 仅应用在 Offer 上。
混合使用其他词汇表有时,您会发现其他词汇表会混杂进来。例如,Schema.org 的商业描述部分源自另一个名为 GoodRelations 的词汇表项目。Schema.org 仍在一些领域指定了        GoodRelations 术语。例如,一个 Offer 资源可能有一个名为 availableDeliveryMethod        的值。这是一个枚举,它的所有值仍是 GoodRelations 术语,例如:
  • http://purl.org/goodrelations/v1#DeliveryModeDirectDownload
  • http://purl.org/goodrelations/v1#DeliveryModeMail
  • http://purl.org/goodrelations/v1#DeliveryModePickUp
  • http://purl.org/goodrelations/v1#FederalExpress
下面这段来自待售图书描述的代码经过了修改,以演示在 RDFa 中表达此信息的最直接方法。
1
2
3
4
5
6
7
<div property="offers" typeof="Offer">
              <span property="priceCurrency" content="USD">$</span>
              <span property="price" content="8.48">8.48</span>
              (<span property="itemCondition" href="UsedCondition">used</span>,
              <span property="offerCount">2</span> available)
              <link property="availableDeliveryMethod" href="http://purl.org/goodrelations/v1#DeliveryModeMail">
            </div>




添加的行已突出显示。availableDeliveryMethod 的值被设置为完整的基于 GoodRelations 的 URL。
请注意,这里使用了 link 元素来从枚举中提供该属性的值。应该使用此方法来指定枚举值,或 Schema.org 规范中对某个 URL        值的其他任何准确引用。因为没有锚文本,所以该链接不会实际向用户显示任何内容;它仅供机器读取。您可以将它放在邻近内容的旁边。
表达词汇表 URL 的另一种方法是,使用一个来自          的不同主干。这涉及到我尚未介绍的 RDFa 属性:prefix。
1
2
3
4
5
6
7
8
9
10
<div vocab="http://schema.org/" prefix="gr: http://purl.org/goodrelations/v1#" typeof="roduct">
            …
            <div property="offers" typeof="Offer">
              <span property="priceCurrency" content="USD">$</span>
              <span property="price" content="8.48">8.48</span>
              (<span property="itemCondition" href="UsedCondition">used</span>,
              <span property="offerCount">2</span> available for shipping by post
              <link property="availableDeliveryMethod" href="greliveryModeMail">)
            </div>
          </div>




prefix 属性将缩写 gr: 与 GoodRelations URL 的主干联系起来。然后,您可以通过添加该 URL        的末尾部分,编写一种缩写形式,即 greliveryModeMail。请注意,所有这些缩写都必须使用冒号作为分隔符。在混合了 URL        的许多不同变体时,或者在您将自己的词汇表与 Schema.org 混合时,此诀窍将派上用场。
返回列表