【问题标题】:Schema.org and object hierarchySchema.org 和对象层次结构
【发布时间】:2018-06-25 18:43:05
【问题描述】:

实际上,我对 Schema.org 对象是如何根据给定规范“组合”的缺乏了解。不幸的是,到目前为止我还没有找到明确的解释。

让我们以https://schema.org/SoldOut 给出的 JSON-LD 示例为例。 在“示例 1”中,我们给出了类型为 Offer 的属性 offers。在唯一的Offer 中,指定了一个price 属性(“13.00”)。

但如果我查看https://schema.org/Offer 给出的对象Offer 的规范,则根本没有指定price 属性。

所以我的问题是,它来自哪里 - price 属性? 似乎Offer 对象合并了Offer 和PriceSpecification 类型。 但是为什么在@type 属性中没有提到它呢?

【问题讨论】:

    标签: schema.org


    【解决方案1】:

    但如果我查看https://schema.org/Offer 给出的对象Offer 的规范,则根本没有指定price 属性。

    Offer 类型确实指定了price 属性。

    price 属性列在 https://schema.org/Offer 上,Offer 类型也列在 https://schema.org/price 的“用于这些类型”下。

    (有时a bug 的类型页面没有列出所有属性,所以也许这就是你没有看到它的原因。)


    一个类型总是指定它自己的属性和它所有的父类型的属性。所以对于Offer,你可以使用Offer、Intangible和Thing的属性:

    Thing > Intangible > Offer

    所有可用属性都列在类型页面的第一个表中(除非遇到错误)。

    【讨论】:

      【解决方案2】:

      可能会出现两种price-property:

      第一种是SoldOut 示例中所示的那种。第二种我在下面的例子中展示给你,基于SoldOuttoo

      <script type="application/ld+json">
      {
          "@context": "http://schema.org",
          "@type": "Event",
          "location": {
              "@type": "Place",
              "address": {
              "@type": "PostalAddress",
              "addressLocality": "Denver",
              "addressRegion": "CO",
              "postalCode": "80209",
              "streetAddress": "7 S. Broadway"
              },
              "name": "The Hi-Dive"
          },
          "name": "SOLD OUT! Typhoon with Radiation City",
          "offers": {
              "@type": "Offer",
              "availability": "http://schema.org/SoldOut",
              "price": {
                  "@type": "PriceSpecification",
                  "price": "13.00",
                  "priceCurrency": "USD",
              },
              "url": "http://www.ticketfly.com/purchase/309433"
          },
          "startDate": "2013-09-14T21:30"
      }
      </script>
      

      用文字来表达,您可以使用price 作为独立属性,或者也可以作为PriceSpecification 类型的一部分。这两种用法都可以,作为PriceSpecification 类型一部分的用法适用于您必须指定更多属性作为仅价格及其货币的情况,如https://schema.org/PriceSpecification 下所列。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多