首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用schema.org扩展GoodRelations

用schema.org扩展GoodRelations
EN

Stack Overflow用户
提问于 2015-04-15 09:47:42
回答 2查看 557关注 0票数 3

GoodRelations网站提供了一个简短的示例,介绍如何用GoodRelations类和属性扩展schema.org。

不幸的是,当使用Google结构化数据测试工具测试它时,示例标记是无效的。

对于作为示例给出的代码片段,属性"hasBusinessFunciton“和"haspriceSpecification”不能识别为“提议”类型。

代码语言:javascript
复制
 <div itemscope itemtype="http://schema.org/Offer" itemid="#offer">
  <div itemprop="name">Hepp Personal SCSI Controller Card</div>
  <div itemprop="description">The Hepp Personal SCSI is a 16-bit add-on card that allows attaching up to seven SCSI devices to your computer.</div>
      <link itemprop="http://purl.org/goodrelations/v1#hasBusinessFunction"
    href="http://purl.org/goodrelations/v1#Sell" />
    <!-- Shipment fees -->
  Delivery costs to
      <div itemscope itemprop="http://purl.org/goodrelations/v1#hasPriceSpecification"
   itemtype="http://purl.org/goodrelations/v1#DeliveryChargeSpecification">
    <meta itemprop="eligibleRegions" content="DE">Germany:
    <meta itemprop="hasCurrency" content="EUR">Euro:
    <span itemprop="hasCurrencyValue">10.00</span>
    <link itemprop="appliesToDeliveryMethod"
      href="http://purl.org/goodrelations/v1#UPS" />(via UPS)
  </div>
<!-- other offer properties follow here -->
...
</div>

是否有使用schema.org属性扩展的GoodRelations的工作示例?

如何在http://wiki.goodrelations-vocabulary.org/Cookbook/Vehicles中使用schema.org

干杯

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-16 06:38:22

原因是GoodRelations站点上的示例还没有更新以反映GoodRelations与schema.org的集成(仅仅因为我还没有做到这一点)。

为了理解这一点,您需要查看GoodRelations的历史:

http://wiki.goodrelations-vocabulary.org/History

GR最初是一个独立的网络词汇表(“本体”),设计用于RDFa或其他RDF-语法(比如RDF/XML、Turtle、.)。

2009年,雅虎开始在RDFa语法上尊重RDFa,2012年谷歌紧随其后。请注意,所有这些都发生在原始的GoodRelations命名空间中,即标识符,如

http://purl.org/goodrelations/v1#BusinessEntity

在schema.org于2011年发布后,我与谷歌、必应和雅虎合作,将GoodRelations整合到schema.org中,该系统于2012年完成并发布。

这意味着(几乎)来自GoodRelations的任何元素现在也将成为schema.org的一部分。因此,GoodRelations现在是schema.org官方的、扩展的电子商务模式.

结果是,每个GoodRelations元素现在都有两个标识符:

( a)原始的,如http://purl.org/goodrelations/v1#OpeningHoursSpecification

( b) schema.org中的那个,如http://schema.org/OpeningHoursSpecification

在某些情况下,名称的本地部分在原始GoodRelations命名空间和schema.org命名空间中的派生版本之间存在差异,以便与schema.org中现有的命名约定保持一致,或者因为以前存在类似的元素。

例如,“要约”是

代码语言:javascript
复制
http://purl.org/goodrelations/v1#Offering

在最初的GoodRelations版本中,但是

代码语言:javascript
复制
http://schema.org/Offer 

在schema.org中。但这两个概念要素是相同的。

有关命名差异的完整列表,请参见

代码语言:javascript
复制
http://wiki.goodrelations-vocabulary.org/Cookbook/Schema.org#Naming_Differences

现在来了一个棘手的部分:

  1. GoodRelations在最初的RDFa语法名称空间中得到谷歌和雅虎的支持,但仅在Microdata或JSON中的schema.org名称空间中支持,而其原始名称空间中的支持可能有点过时。
  2. 对于枚举(个人),原始名称空间仍然是正式名称空间,即来自http://www.heppnetz.de/ontologies/goodrelations/v1.html#individuals的所有元素在http://purl.org/goodrelations/v1#中仍然有效.命名空间,例如http://purl.org/goodrelations/v1#Cash

之所以选择这种方法,是因为我们可以通过在原始命名空间中保留值的标识符来减少schema.org的新元素的数量。

因此,当您在搜索引擎中使用GoodRelations时,应该在schema.org命名空间中使用它。http://purl.org/goodrelations/v1# ..。命名空间对于基于RDF /链接数据/SPARQL的项目一直是可用的。

在未来(可能在今年),GoodRelations中将有服务更新,这将提供

  • 更新的例子,以适当反映这一点和
  • 映射公理,以便语义Web应用程序能够看到等价的信息。

希望这能帮上忙!

谨致问候

马丁赫普http://www.heppnetz.de

票数 4
EN

Stack Overflow用户

发布于 2015-04-15 11:31:26

此示例是有效的微数据,也是Schema.org词汇表的适当使用。

谷歌的测试工具不是一个验证器。它只根据Google自己的规则检查结构化数据,例如他们识别的内容,或者显示他们的富代码段。

在这个片段中发生了什么:这两个属性(http://purl.org/goodrelations/v1#hasPriceSpecificationhttp://purl.org/goodrelations/v1#hasBusinessFunction)被指定为绝对URL,这是如何在微数据中提供属性的四种有效方式之一。

但是,请注意,Microdata对混合词汇表的支持有限。在这方面,RDFa要强大得多。(相关:微数据与RDFa的差异.)

使用RDFa,代码片段可能如下所示(保持相同的HTML):

代码语言:javascript
复制
<div typeof="schema:Offer" resource="#offer">

  <div property="schema:name">Hepp Personal SCSI Controller Card</div>
  <div property="schema:description">The Hepp Personal SCSI is …</div>
  <link property="gr:hasBusinessFunction" href="http://purl.org/goodrelations/v1#Sell" />

  Delivery costs to
  <div property="gr:hasPriceSpecification" typeof="gr:DeliveryChargeSpecification">
    <meta property="gr:eligibleRegions" content="DE" />Germany:
    <meta property="gr:hasCurrency" content="EUR" />Euro:
    <span property="gr:hasCurrencyValue">10.00</span>
    <link property="gr:appliesToDeliveryMethod" href="http://purl.org/goodrelations/v1#UPS" />(via UPS)
  </div>

</div>

(使用前缀schema,用于Schema.org词汇表,gr用于在RDFa核心初始上下文中定义的GoodRelations词汇表。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29646946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档