我正在尝试将微数据符号(使用Schema.org)添加到我的网站,该网站主要讨论建筑物。我一直在阅读很多相关信息,但我仍然无法确定使用itemscope
,itemtype
和itemprop
的位置。
有人能告诉我这是不是很好的Microdata / Schema.org标记,还是我错过了什么?
<div class="infobox infobox_building" itemscope itemtype="http://schema.org/LandmarksOrHistoricalBuildings">
<!-- Building Name -->
<h1 class="page_title">Puente Golden Horn Metro</h1>
<!-- Architect -->
<div class="data_row architect" itemscope itemtype="http://schema.org/creator">
<div class="tag cell">Arquitecto</div>
<div class="value cell">
<a href="https://stage.wikiarquitectura.com/arquitecto/virlogeux-michel/" itemprop="Person">Michel Virlogeux</a>
<a href="https://stage.wikiarquitectura.com/arquitecto/kiran-hakan/" itemprop="Person">Hakan Kıran</a>
</div>
</div>
<!-- Height -->
<div class="data_row" itemscope itemtype="http://schema.org/height">
<div class="tag cell">Altura</div>
<div class="value cell" itemprop="QuantitativeValue">65m</div>
</div>
<!-- Width -->
<div class="data_row" itemscope itemtype="http://schema.org/width">
<div class="tag cell">Ancho</div>
<div class="value cell" itemprop="QuantitativeValue">12,6m</div>
</div>
<!-- Location -->
<div class="data_row" itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
<div class="tag cell">Ubicación</div>
<div class="value cell" itemprop="streetAddress">Arap Cami Mahallesi, Beyoğlu/İstanbul, Turquía</div>
</div>
</div> <!-- infobox -->
答案 0 :(得分:2)
您似乎混淆了属性和类型。
在Microdata中,属性在itemprop
属性中指定,而类型在itemtype
属性中指定。
如果您只使用词汇表Schema.org,那么您将使用类型的完整URI(itemtype="http://schema.org/PostalAddress"
),而只使用slug for properties(itemprop="address"
)。
在Schema.org中,很容易看出它是什么,因为它们遵循the convention属性的第一个字母是小写的(address
),并且类型的第一个字母是大写的({ {1}})。
从语法上讲,您使用PostalAddress
+ address
正确执行此操作,但PostalAddress
+ creator
和Person
/ height
+错误width
。
那就是说,你也犯了一些词汇错误。 QuantitativeValue
类型首先不能包含LandmarksOrHistoricalBuildings
,creator
或height
属性。
您可以访问类型页面(LandmarksOrHistoricalBuildings
)并查看第一个表格,查看某个类型可以拥有的属性。
答案 1 :(得分:0)
我也遇到了和你一样的问题或问题。因为我的建筑物甚至不是历史建筑物(什么时候是历史建筑?),我创建了own schema:
{
"@context":
{
"Place": "http://schema.org/Place",
"name": "http://purl.org/dc/terms/title",
"alternateName":"http://purl.org/dc/terms/title",
"description": "http://purl.org/dc/terms/description",
"geo": "http://schema.org/geo",
"image":
{
"@id": "http://schema.org/image",
"@type": "@id"
},
"latitude":
{
"@id": "http://www.w3.org/2003/01/geo/wgs84_pos#lat",
"@type": "xsd:decimal"
},
"longitude":
{
"@id": "http://www.w3.org/2003/01/geo/wgs84_pos#long",
"@type": "xsd:decimal"
},
"containedInPlace":"http://schema.org/Place",
"containsPlace":"http://schema.org/Place",
"architect":"http://schema.org/Creator",
"Address": "http://www.w3.org/2006/vcard/ns#Address",
"address": "http://www.w3.org/2006/vcard/ns#address",
"street": "http://www.w3.org/2006/vcard/ns#street-address",
"locality": "http://www.w3.org/2006/vcard/ns#locality",
"region": "http://www.w3.org/2006/vcard/ns#region",
"country": "http://www.w3.org/2006/vcard/ns#country",
"postalCode": "http://www.w3.org/2006/vcard/ns#postal-code",
"meter": "http://purl.org/measurement#meter",
"kilometer": "http://purl.org/measurement#kilometer",
"feet": "http://purl.org/measurement#feet",
"miles": "http://purl.org/measurement#miles",
"xsd": "http://www.w3.org/2001/XMLSchema#"
}
}
但我不确定谷歌或其他一些搜索服务是否会得到这个想法。如果您对架构有任何改进或想法,请告诉我!