schema.org关系属性应如何解释?

时间:2019-05-05 20:15:07

标签: schema.org

我目前正在研究schema.orgAPI platform一起使用,但是有些属性我不了解。

让我们以https://schema.org/Organization为例:

事物(在这种情况下为组织)具有属性,例如nameaddress。现在,我不了解的是属性department。但是,在现实生活中,一个组织并没有一个部门。它至少有几个。

那个财产不应该是oneToMany吗?

还是我不理解它,department链接到母公司吗?母公司将子组织(拥有部门属性的组织)变成部门?但是,如果真是这样,我想应该有一个Department对象(从Organization对象扩展)。

当我在API平台的schema.yaml中定义此属性时,它期望一个值,就像我从schema.org文档中所期望的那样。

我想念什么吗?有人可以解释一下我应该如何解释和使用这些属性吗?

编辑:我发现,除非另有说明,否则A​​PI平台希望每个属性都具有单个值。因此,我必须将department属性设置为oneToMany。 结合下面的出色解释(公认的答案),一切都得到了解释。

1 个答案:

答案 0 :(得分:1)

所有Schema.org属性可以具有多个值。通常,并不是每个属性(例如birthDate)都有意义,但是还是有可能的。

对于department属性,域(具有此属性的项)是上级组织,范围(该属性的值的项)是部门。在这种情况下,如果域和范围需要相同的类型,则必须解释文本定义,以确保该属性用于哪个“方向”。

(如果由于某种原因您不能为一个属性提供多个值,请注意,即使未定义任何反向属性,也要you can use沿相反方向的每个Schema.org属性。)< / p>

示例

一个组织(#1)有两个部门(#2#3)。

JSON-LD

使用数组([]):

{
  "@context": "http://schema.org/",
  "@type": "Organization",
  "@id": "#1",
  "department": [
    {
      "@type": "Organization",
      "@id": "#2"
    },
    {
      "@type": "Organization",
      "@id": "#3"
    }
  ]
}

微数据

重复该属性:

<div itemscope itemtype="http://schema.org/Organization" itemid="#1">
  <div itemprop="department" itemscope itemtype="http://schema.org/Organization" itemid="#2"></div>
  <div itemprop="department" itemscope itemtype="http://schema.org/Organization" itemid="#3"></div>
</div>

RDFa

重复该属性:

<div typeof="schema:Organization" resource="#1">
  <div property="schema:department" typeof="schema:Organization" resource="#2"></div>
  <div property="schema:department" typeof="schema:Organization" resource="#3"></div>
</div>
相关问题