schema.org 关系属性应该如何解释?
How should schema.org relational properties be interpreted?
我目前正在研究 schema.org to use it with API platform,但有些属性我不明白。
我们以https://schema.org/Organization为例:
事物(在本例中是组织)具有属性,例如 name
和 address
。现在我不明白的是 属性 department
。然而在现实生活中,一个组织并不仅仅只有一个部门;至少有几个。
属性 不应该是 oneToMany 吗?
还是我不理解,对母公司department
link,使子组织(部门属性)成为一个部门?但如果是这样的话,我认为应该有一个 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>
我目前正在研究 schema.org to use it with API platform,但有些属性我不明白。
我们以https://schema.org/Organization为例:
事物(在本例中是组织)具有属性,例如 name
和 address
。现在我不明白的是 属性 department
。然而在现实生活中,一个组织并不仅仅只有一个部门;至少有几个。
属性 不应该是 oneToMany 吗?
还是我不理解,对母公司department
link,使子组织(部门属性)成为一个部门?但如果是这样的话,我认为应该有一个 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>