我想链接到内容作者的特定页面,但我的RDFa似乎被误解了。
在下面的示例中,我想定义一个Photograph
,其author
属性本身为Person
,name
。我希望name
成为包含所有贡献者内容的网页的链接。
<div typeof="Photograph" resource="/photo/5" vocab="http://schema.org/">
<p property="author" typeof="Person">
Contributed by:
<a href="/contributor/5" title="Contributions from Weston">
<span property="name">Weston</span>
</a>
</p>
</div>
但是尝试验证我从W3C Validator
获得了以下Turtle格式的结果@prefix ns1: <http://www.w3.org/ns/rdfa#> .
@prefix ns2: <http://schema.org/> .
<> ns1:usesVocabulary ns2: .
</contributor/5> ns2:name "Weston" .
</photo/5> a ns2:Photograph;
ns2:author [ a ns2:Person ] .
我认为name
与Person
无关,但与资源/contributor/5
无关。
答案 0 :(得分:3)
您需要将href
属性(包含您的人员URI的属性)放在与property
和typeof
相同的HTML元素中,如下所示:
<div typeof="Photograph" resource="/photo/5" vocab="http://schema.org/">
<p>
Contributed by:
<a property="author" typeof="Person" href="/contributor/5" title="Contributions from Weston">
<span property="name">Weston</span>
</a>
</p>
</div>
为了测试您的标记,我强烈建议http://rdfa.info/play/进行实时调试:)
答案 1 :(得分:1)
您注意到href导致描述新资源。
还有另一种可能性来解决它:保持你的代码就像它一样,只需在a元素中添加一个空属性:
<div typeof="Photograph" resource="/photo/5" vocab="http://schema.org/">
<p property="author" typeof="Person">
Contributed by:
<a href="/contributor/5" title="Contributions from Weston" property="">
<span property="name">Weston</span>
</a>
</p>
</div>
这将是龟的结果:
@prefix ns1: <http://www.w3.org/ns/rdfa#> .
@prefix ns2: <http://schema.org/> .
<> ns1:usesVocabulary ns2: .
</photo/5> a ns2:Photograph;
ns2:author [ a ns2:Person;
ns2:name "Weston" ] .
我在一些官方指南中找到了这个解决方案,例如HTML数据指南: http://www.w3.org/TR/html-data-guide/