我正在试验微数据,特别是schema.org标记的使用。我试图描述可能具有相同位置属性的多个运动项目。

<!--Sports Events -->
<div itemscope itemtype="http://schema.org/SportsEvent">
    <span itemprop="name" style="font-weight:bold;">Event One</span><br />
    <meta itemprop="location" content="venue" itemscope itemtype="http://schema.org/Place" itemref="olympicpark" />
    <meta itemprop="startDate" content="2011-08-04T10:00">
    <meta itemprop="endDate" content="2011-08-04T13:45">
</div>
<div itemscope itemtype="http://schema.org/SportsEvent">
    <span itemprop="name" style="font-weight:bold;">Event Two</span><br />
    <meta itemprop="location" content="venue" itemscope itemtype="http://schema.org/Place" itemref="olympicpark" />
    <meta itemprop="startDate" content="2011-08-04T10:00">
    <meta itemprop="endDate" content="2011-08-04T13:45">
</div>
<!--End Events -->

<!--Places -->
<h3>Venues</h3>
<div id="olympicpark">
    <a itemprop="url" href="http://www.london2012.com/olympic-park">Olympic Park</a>
    <div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
        <span itemprop="streetAddress">Olympic Park</span>
        <span itemprop="addressLocality">Stratford</span>
        <span itemprop="addressRegion">London</span>
        <span itemprop="postalCode">E20 2ST</span>
    </div>
    <div itemprop="geo" itemscope itemtype="http://schema.org/GeoCoordinates">
        <meta itemprop="latitude" content="51.54615" />
        <meta itemprop="longitude" content="-0.01269" />
    </div>
    <div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
        <span itemprop="ratingValue">4</span> stars - based on
        <span itemprop="reviewCount">250</span> reviews
    </div>
</div>
<!-- End Places -->

每个运动项目的“位置”属性通过itemref属性链接到“奥林匹克公园”位置。这似乎是正确的,google富代码片段工具没有报告任何错误。我唯一担心的是,富代码片段数据显示的location属性不是直接指向olympicpark,而是指向另一个引用它的项。
具体如下:
Item
Type: http://schema.org/sportsevent
name = Event Two
location = Item( 2 )
startdate = 2011-08-04T10:00
enddate = 2011-08-04T13:45

Item 2
Type: http://schema.org/place
Ref to item: Item( olympicpark )

我想看到的是每个体育赛事项目的微数据报告“位置=项目(奥林匹克公园)”。如果我把位置改成
<span itemprop="location" content="venue" itemscope itemtype="http://schema.org/Place" itemref="olympicpark">

但是,如果我这样做,则不使用开始日期和结束日期,这我可以理解,因为span标记不会关闭。
我正在绕圈子试图解决这个问题,如果可能的话,我会非常感谢你的帮助。抱歉,如果这看起来很混乱,我发现很难描述问题。
迈克

最佳答案

我看你原来的实现没有什么问题。根据我在自己网站上阅读和体验到的内容,正确的做法是避免在每个事件中显式地创建多个嵌套位置。
googlerichnippet工具之所以向您展示这一点,是因为它需要传达位置的类型。如果它只是像你所希望的那样location = Item ( olympicpark ),你就会想知道它识别的Item ( olympicpark)是什么类型。

07-24 09:54