【问题标题】:how to define phone types (home, office, work) using schema.org?如何使用 schema.org 定义电话类型(家庭、办公室、工作)?
【发布时间】:2014-08-11 16:40:15
【问题描述】:

如何使用 Schema.org 定义电话类型?

例如,我想在 Json-ld 中有这个:

    "phones" : [
    {
        "type" : "office",
        "number" : "123456789"
    },
    {
        "type" : "work",
        "number" : "123456789"
    }
    ]

有没有办法使用 schema.org 作为上下文来定义这些?我查看了 FOAF 或 goodRelations,但他们都只使用一部电话:http://schema.org/telephone

【问题讨论】:

  • 你可以很容易地使用微格式来做到这一点,schema.org 也使用微格式......如果你在乎,我会告诉你如何

标签: schema.org json-ld


【解决方案1】:

您需要使用contactPoint 而不是telephone 属性。因此,您的 JSON-LD 文档将如下所示:

"contactPoint" : [
  {
    "contactType" : "office",
    "telephone" : "123456789"
  },
  {
    "contactType" : "work",
    "telephone" : "123456789"
  }
]

请注意,您可以更改 JSON-LD 上下文以获取所需形状的 JSON。例如:

{
  "@context": [
    "http://schema.org",
    {
      "phones": "http://schema.org/contactPoint",
      "type": "http://schema.org/contactType",
      "number": "http://schema.org/telephone"
    }
  ],
  "phones" : [
    {
      "type" : "office",
      "number" : "123456789"
    },
    {
      "type" : "work",
      "number" : "123456789"
    }
  ]
}

【讨论】:

  • 更进一步,有一种方法可以定义类型的规范。就像它被限制在办公室或工作场所或家中一样。换句话说,一个枚举。可以用json-ld表示枚举吗?
  • Schema.org 将 contactType 的值定义为字符串,并且不再对其进行限制:schema.org/contactType。 Google 对他们在组织环境中的理解更加明确:support.google.com/webmasters/answer/4620709?hl=en
【解决方案2】:

我不确定这是否正确,此 Google 页面指定了如何区分“ContactType”:

https://support.google.com/webmasters/answer/4620709?hl=en

该页面提供了许多示例。

【讨论】:

  • 仅链接的答案被认为是低质量的,您能否在帖子中包含实际的解决方案?
【解决方案3】:

如果Place不需要,可以使用contactPointContactPointas suggested by Markus Lanthaler

或者,您可以extend telephone property,例如通过使用

  • telephone/office
  • telephone/work

但是,如果您希望其他消费者理解并使用您的数据,这不是一个好的解决方案。 (也是probably "outdated"。)

【讨论】:

    猜你喜欢
    • 2020-12-09
    • 2013-09-24
    • 2016-02-11
    • 2021-07-06
    • 2011-08-16
    • 2011-08-16
    • 2011-09-23
    • 2019-01-28
    • 1970-01-01
    相关资源
    最近更新 更多