【问题标题】:In schema.org, how are these "lists" or "collections" ("supersedes …") supposed to work?在 schema.org 中,这些“列表”或“集合”(“取代……”)应该如何工作?
【发布时间】:2017-06-21 16:54:07
【问题描述】:

这里提到了几个复数形式的属性,比如eventsactors。 它在使用方面究竟意味着什么?我可以像this answer 中提到的那样将它们堆叠在一起吗?

我主要想知道如何处理声明 Supersedes actors.actors(复数)在其他地方没有明确提及。我是否只需要查找那个supersedes… 语句并可以推断这意味着我可以将多个这些属性(以其单数形式)背靠背放置?

喜欢:“取代演员。”可以翻译成“可以使用多个actor属性”?

要进行额外的保护:no 包装元素是必需的,例如 itemprop="actors" itemprop=actorelements 将在其中堆叠,对吧?

【问题讨论】:

    标签: schema.org


    【解决方案1】:

    您可以多次使用 every 属性。这样做可能并不总是有意义,但无论如何都是允许的。

    但是,根据定义,某些属性采用(或更准确地说:期望)多个值。¹
    如果是这种情况,它会在属性的定义中提到。最好不要试图从属性名称中扣除这个。从语义上讲,属性是否命名为actoractorsschauspieler4323 并不重要。该名称可以是一个提示,但不能超过。

    如果它说一个属性取代了另一个属性,它只是意味着鼓励作者使用被取代的属性而不是被取代的属性。属性的含义仍然完全相同(或者替代属性具有更广泛的含义),否则不会使用这种替代机制。

    tl;博士:

    • 不要使用被取代的属性。
    • 不要使用属性的名称来决定属性是否采用多个值。请改用属性的定义。
    • 所有属性都可以多次使用。

    ¹ 一个接受多个值的属性的例子是keywords property,它说:

    关键字列表中的多个条目通常用逗号分隔。

    多次使用此属性仍然没问题,无论是使用一个还是多个(逗号分隔)值。

    因此,在 Microdata 中,您可以使用其中一种(或全部):

    <span itemprop="keywords">a, b, c</span>
    
    <span itemprop="keywords">a</span>
    <span itemprop="keywords">b</span>
    <span itemprop="keywords">c</span>
    
    <span itemprop="keywords">a</span>
    <span itemprop="keywords">b, c</span>
    

    (不,从来不需要“包装”属性;从语法上讲,甚至不存在这样的东西。)

    【讨论】:

    • 你能详细说明一下取代吗?例如,评论取代评论是什么意思。它们在语义上并不相同。例如,我不能在 review 属性下列出某事物的所有评论(它代表单个评论而不是数组)
    • @MatthewEvans:正如我在回答中提到的,忽略属性的名称,只考虑定义:“项目评论”与“项目评论”。因此,这两个属性都将单个评论作为价值。它们在语义上相同的。 -- 如果您对同一事物有多个评论,只需多次提供 review 属性(在 Microdata/RDFa 的情况下)或提供一组值(在 JSON-LD 的情况下)。
    • 谢谢 - 是的,我发现它们都是单数的,因此在语义上是相同的。您能否用 JSON-LD 说明一系列评论的标记。我试过这个:jsfiddle.net/wdsq8te0,但结构化数据工具只检测到第一个评论。
    • @MatthewEvans:我无法访问 jsFiddle,但这里有一个 example for an array(第一个)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-21
    • 2021-05-09
    • 2017-04-28
    • 1970-01-01
    • 2018-10-26
    • 1970-01-01
    • 2014-09-17
    相关资源
    最近更新 更多