1

我想链接到内容作者的特定页面,但我的 RDFa 似乎被误解了。

在下面的示例中,我想Photograph用一个author属性定义 a,它本身就是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

4

2 回答 2

3

您需要在与 and 相同的 HTML 元素中具有属性href(包含您的 Person URI),如下所示:propertytypeof

<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/进行实时调试:)

于 2014-03-19T12:53:25.220 回答
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/

于 2015-07-09T12:44:25.180 回答