GoodRelations网站提供了一个简短的示例,介绍如何用GoodRelations类和属性扩展schema.org。
不幸的是,当使用Google结构化数据测试工具测试它时,示例标记是无效的。
对于作为示例给出的代码片段,属性"hasBusinessFunciton“和"haspriceSpecification”不能识别为“提议”类型。
<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
干杯
发布于 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中现有的命名约定保持一致,或者因为以前存在类似的元素。
例如,“要约”是
http://purl.org/goodrelations/v1#Offering在最初的GoodRelations版本中,但是
http://schema.org/Offer 在schema.org中。但这两个概念要素是相同的。
有关命名差异的完整列表,请参见
http://wiki.goodrelations-vocabulary.org/Cookbook/Schema.org#Naming_Differences现在来了一个棘手的部分:
之所以选择这种方法,是因为我们可以通过在原始命名空间中保留值的标识符来减少schema.org的新元素的数量。
因此,当您在搜索引擎中使用GoodRelations时,应该在schema.org命名空间中使用它。http://purl.org/goodrelations/v1# ..。命名空间对于基于RDF /链接数据/SPARQL的项目一直是可用的。
在未来(可能在今年),GoodRelations中将有服务更新,这将提供
希望这能帮上忙!
谨致问候
马丁赫普http://www.heppnetz.de
发布于 2015-04-15 11:31:26
此示例是有效的微数据,也是Schema.org词汇表的适当使用。
谷歌的测试工具不是一个验证器。它只根据Google自己的规则检查结构化数据,例如他们识别的内容,或者显示他们的富代码段。
在这个片段中发生了什么:这两个属性(http://purl.org/goodrelations/v1#hasPriceSpecification和http://purl.org/goodrelations/v1#hasBusinessFunction)被指定为绝对URL,这是如何在微数据中提供属性的四种有效方式之一。
但是,请注意,Microdata对混合词汇表的支持有限。在这方面,RDFa要强大得多。(相关:微数据与RDFa的差异.)
使用RDFa,代码片段可能如下所示(保持相同的HTML):
<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词汇表。)
https://stackoverflow.com/questions/29646946
复制相似问题