1

コンテンツ作成者向けの特定のページにリンクしたいのですが、RDFa が誤解されているようです。

Photograph以下の例では、プロパティでを定義したいと思います。authorそれ自体はPersonですnamenameそして、寄稿者のすべてのコンテンツを含むページへのリンクにしたいと考えています。

<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 とhref同じ HTML 要素に属性 (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 Data Guide のようないくつかの公式ガイドでこの解決策を見つけました: http://www.w3.org/TR/html-data-guide/

于 2015-07-09T12:44:25.180 に答える