Child Schema.org 属性 的属性
Child properties of Schema.org property
从今天开始,我一直在试图弄清楚这个谜语。
假设我们有一个电视剧集如下,
<main itemscope itemtype="https://schema.org/TVEpisode">
<h1>
<a itemprop="url" href="self.html">
Pokemon - <span itemprop="episodeNumber">88</span>
</a>
</h1>
<h2 itemprop="name">In the Pink</h2>
<p>Source: <span itemprop="partOfSeries">Pokemon</span>
<span itemprop="partOfSeason">Orange Islands</span>
</p>
</main>
现在的问题是我无法在此处添加 'partOfSeries' 的 'sameAs' 属性。如果我在 'partOfSeries' 内添加一个带有 'sameAs' 属性 的锚点,Google Structured-data 测试工具说它找不到与 属性 相同的锚点。而且我不知道还能做什么。 'seasonNumber' 也是正确的,它是 'partOfSeason' 的 child。
如果您也可以帮助 'potentialAction' 属性,那就太棒了。
谢谢
partOfSeason
property expects a value of the Season
type.
partOfSeries
property expects a value of the Series
type.
在这两种情况下,您都给出了一个文本值。
这是 not wrong(只是不推荐),但是使用文本值无法提供有关 season/series 的额外数据。
在微数据语法中,您必须使用 itemscope
属性创建一个新的 item 并使用 itemtype
属性为其指定类型:
<span itemprop="partOfSeries" itemscope itemtype="http://schema.org/Series">
<span itemprop="name">Pokemon</span>
</span>
<span itemprop="partOfSeason" itemscope itemtype="http://schema.org/Season">
<span itemprop="name">Orange Islands</span>
</span>
(因为项目内的简单文本不被视为微数据值,所以您必须对要与项目关联的所有内容使用 属性,即 Schema.org' s name
在这种情况下。)
现在您可以添加仅适用于其 parents(Series
/Season
)的其他属性,不适用于 TVEpisode
:
<span itemprop="partOfSeries" itemscope itemtype="http://schema.org/Series">
<span itemprop="name">Pokemon</span>
<link itemprop="sameAs" href="http://en.wikipedia.org/wiki/Pok%C3%A9mon_%28anime%29"/>
</span>
<span itemprop="partOfSeason" itemscope itemtype="http://schema.org/Season">
<span itemprop="name">Orange Islands</span>
<link itemprop="sameAs" href="http://en.wikipedia.org/wiki/List_of_Pok%C3%A9mon:_Adventures_on_the_Orange_Islands_episodes"/>
</span>
关于您的示例的旁注:
- 您正在使用 Schema.org 个符合
https
协议的 URL。没有错,但是I recommend to always use http
.
- 您不应该为替代标题使用额外的标题元素(
h2
在您的情况下);您可以改用 p
,并将标题与替代标题分组在 header
中(参见 HTML5 的 Subheadings, subtitles, alternative titles and taglines)。
从今天开始,我一直在试图弄清楚这个谜语。 假设我们有一个电视剧集如下,
<main itemscope itemtype="https://schema.org/TVEpisode">
<h1>
<a itemprop="url" href="self.html">
Pokemon - <span itemprop="episodeNumber">88</span>
</a>
</h1>
<h2 itemprop="name">In the Pink</h2>
<p>Source: <span itemprop="partOfSeries">Pokemon</span>
<span itemprop="partOfSeason">Orange Islands</span>
</p>
</main>
现在的问题是我无法在此处添加 'partOfSeries' 的 'sameAs' 属性。如果我在 'partOfSeries' 内添加一个带有 'sameAs' 属性 的锚点,Google Structured-data 测试工具说它找不到与 属性 相同的锚点。而且我不知道还能做什么。 'seasonNumber' 也是正确的,它是 'partOfSeason' 的 child。 如果您也可以帮助 'potentialAction' 属性,那就太棒了。 谢谢
partOfSeason
property expects a value of the Season
type.
partOfSeries
property expects a value of the Series
type.
在这两种情况下,您都给出了一个文本值。
这是 not wrong(只是不推荐),但是使用文本值无法提供有关 season/series 的额外数据。
在微数据语法中,您必须使用 itemscope
属性创建一个新的 item 并使用 itemtype
属性为其指定类型:
<span itemprop="partOfSeries" itemscope itemtype="http://schema.org/Series">
<span itemprop="name">Pokemon</span>
</span>
<span itemprop="partOfSeason" itemscope itemtype="http://schema.org/Season">
<span itemprop="name">Orange Islands</span>
</span>
(因为项目内的简单文本不被视为微数据值,所以您必须对要与项目关联的所有内容使用 属性,即 Schema.org' s name
在这种情况下。)
现在您可以添加仅适用于其 parents(Series
/Season
)的其他属性,不适用于 TVEpisode
:
<span itemprop="partOfSeries" itemscope itemtype="http://schema.org/Series">
<span itemprop="name">Pokemon</span>
<link itemprop="sameAs" href="http://en.wikipedia.org/wiki/Pok%C3%A9mon_%28anime%29"/>
</span>
<span itemprop="partOfSeason" itemscope itemtype="http://schema.org/Season">
<span itemprop="name">Orange Islands</span>
<link itemprop="sameAs" href="http://en.wikipedia.org/wiki/List_of_Pok%C3%A9mon:_Adventures_on_the_Orange_Islands_episodes"/>
</span>
关于您的示例的旁注:
- 您正在使用 Schema.org 个符合
https
协议的 URL。没有错,但是I recommend to always usehttp
. - 您不应该为替代标题使用额外的标题元素(
h2
在您的情况下);您可以改用p
,并将标题与替代标题分组在header
中(参见 HTML5 的 Subheadings, subtitles, alternative titles and taglines)。