使用Schema.org标记博客的首选方法是什么?

14

背景/上下文

由于schema.org相对较新,因此这个问题可能会引发更多讨论而不是明确的答案。无论如何,希望能从他人的应用/经验中获得一些学习。

在研究了http://schema.org文档页面之后,虽然似乎有大量属性(即itemprop属性)可用于丰富博客文章,但在标记博客评论方面存在一些不一致和“灰色地带”。让我举个例子:

博客的schema.org文档可以在Thing > CreativeWork > Blog中找到,供参考,博客文章位于Thing > CreativeWork > Article > BlogPosting

到目前为止,前述页面上的文档和标记示例提供了足够的参考来格式化博客索引页以及单个帖子内的大部分内容(例如authorpubDatearticleBodyinteractionCount等)

问题:将UserInteraction模式应用于单个博客评论

当我们开始查看interactionCount中的单个用户交互元素(博客评论)时,事情变得有点模糊。文档引导我们进入Thing > Event > UserInteraction > UserComments,并描述为“用户交互:关于项目的评论。”然而,UserInteraction的所有建议属性都面向物理事件。
在此模式的文档中,似乎唯一与博客评论相关的属性是description;它可能用于评论正文。感觉缺少的是有关博客文章的用户评论的具体上下文。还没有关于这些评论的示例标记的证据,即使在在网站上搜索“评论”也似乎找不到任何明确的信息。
是否有人使用schema.org标记了他们的博客-您是如何处理/解决这个问题的?
我还将通过schema.org反馈表提出此问题,并在有任何消息时更新此帖子。
5个回答

11

请查看此处的示例http://schema.org/WebPage,并注意书籍评论的用法。

你也可以将此方法用于文章评论中,以下是一个示例:

 <div itemscope itemtype="http://schema.org/Article"> 

     <-- Article content -->

     <div itemprop="comment" itemscope itemtype="http://schema.org/UserComments">     
       <meta itemprop="discusses" content="A masterpiece of literature" />             
       <span itemprop="creator">John Doe</span>   
       <time itemprop="commentTime" datetime="2011-05-08T19:30">May 8, 7:30pm</time>    

       <span itemprop="commentText">I really enjoyed this book. It captures the essential  
       challenge people face as they try make sense of their lives.</span>    
     </div>

     <div itemprop="comment" itemscope itemtype="http://schema.org/UserComments">     
       <meta itemprop="discusses" content="A masterpiece of literature" />             
       <span itemprop="creator">John Doe</span>   
       <time itemprop="commentTime" datetime="2011-05-08T19:30">May 8, 7:30pm</time>    

       <span itemprop="commentText">I really enjoyed this book. It captures the essential  
       challenge people face as they try make sense of their lives.</span>    
     </div>

 </div>

非常好的UserComments实例 - 感谢您发布这个。我一直在四处搜寻,但没有找到任何明确展示此实现方式的内容(特别是在schema.org上)。+1 - nickb
太棒了 - 正是我需要的! - Rowan
很好的例子,正是我正在寻找的(但不知怎么错过了!)。谢谢@Ervald。 - Martin
1
关于你提出的示例,我有几个疑问。在这个示例中,有一个 Review(单数形式)的列表。但是既然 UserComments 是复数形式,它应该包含一系列的评论,而不是作为列表的一部分。 - freedev

5

几年后,http://schema.org/Comment被引入。

对某个项目的评论 - 例如,博客文章的评论。评论的内容通过“text”属性表达,其主题通过“about”表达,这些属性与所有创意作品共享。


3

我的理解是,UserComments并不用于标记博客评论。它只作为可能的交互类型之一存在于CreativeWorkinteractionCount属性中使用,例如:

<div itemscope itemtype="http://schema.org/Article">
  <span itemprop="http://schema.org/interactionCount">UserComments:7</span>
</div>

我会将每个评论标记为CreativeWorkArticle,并确保它们的about属性指向所评论的博客文章。

你的建议似乎提供了一个逻辑应用 - 我能看到about属性对我们将评论与文章关联起来的价值,尤其是当它们出现在文档流之外(即页面的其他位置/完全独立的页面)时。仅此一点就非常感谢!然而,Usercomments 在 schema.org 文档中有一个专门的页面还是有些奇怪。 http://schema.org/UserComments我已经按照以上实现了interactionCount,目前除非有其他更好的想法,我会遵循你的建议。谢谢 - Martin
我会给你的回答点赞的,但是我的声望值不够。如果可以的话,在标记问题已解决之前,我也想先实施你的回答! - Martin
1
我认为你误解了:Blog(更具体的CreativeWork)列出了属性comment,它是一个UserComments模式。而UserComments有像commentTextcommentTime这样的属性。这似乎比将评论标记为CreativeWorkArticles更具体和合适。 - Blaise

1

目前来看,Blaise 是正确的。在 schema.org/Comment 上使用的示例是:

对某个项目的评论 - 例如,对博客文章的评论。评论的内容通过“text”属性表达,其主题通过“about”属性表达,这些属性与所有 CreativeWorks 共享。


0

就我个人而言,当内容和数据匹配时,我不喜欢使用<meta>的方法。由于schema.org尚未完全记录,因此我采用了这种方式:

<span itemprop="interactionCount">100</span>

和/或这个:

<span itemprop="interactionCount">100 comments</span>

我知道它没有在任何地方指定“UserComments”。你有什么想法?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接