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

How should schema.org relational properties be interpreted?

我目前正在研究 schema.org to use it with API platform,但有些属性我不明白。

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

事物(在本例中是组织)具有属性,例如 nameaddress。现在我不明白的是 属性 department。然而在现实生活中,一个组织并不仅仅只有一个部门;至少有几个。

属性 不应该是 oneToMany 吗?

还是我不理解,对母公司departmentlink,使子组织(部门属性)成为一个部门?但如果是这样的话,我认为应该有一个 Department 对象(从 Organization 对象扩展而来)。

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

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

编辑: 我发现 API 平台期望每个 属性 都有一个值,除非另有说明。所以我必须将 department 属性 设置为 oneToMany。 结合下面的精彩解释(已接受的答案)可以解释一切。

所有 Schema.org 属性可以有多个值。通常它对每个 属性(例如 birthDate)都没有意义,但无论如何都是可能的。

对于 department 属性,域(具有此 属性 的项目)是父组织,范围(此 属性 的值的项目) =48=]) 是部门。在这种情况下,域和范围需要相同的类型,您必须解释文本定义以确保 "direction" 和 属性 的目的。

(如果由于某种原因,您不能为 属性 提供多个值,请注意 you can use 每个 Schema.org 属性 在另一个方向,同样,即使没有定义反 属性。)

例子

一个组织(#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>