71

RDFaとMicrodataについて簡単な質問があります。

私の現在の理解では、RDFaはHTMLにRDFで実装されていますが、私のような新しい開発者にとっては複雑です。Microdataは本当に簡単で迅速に実装できるようです。

これらの2つのセマンティック形式に関する他の長所と短所は何ですか?

4

5 に答える 5

102

MicrodataとRDFaの違い

多くの(技術的な、より小さな)違いがありますが、ここに私が重要だと思うものの選択があります(ベースとしてウェブマスターに関する私の答えを使用しました)。

仕様

適用性

  • マイクロデータは、(X)HTML5(WHATWGで定義されているHTML )でのみ使用できます。

  • RDFaは、さまざまなホスト言語、つまりいくつかの(X)HTMLバリアントおよびXML(したがって、SVG、MathML、Atomなどでも)で使用できます。

    また、 RDFa Coreは「構造化データを任意のマークアップ言語で表現するための属性の仕様」であるため、新しいホスト言語をサポートできます。

複数の語彙の使用

  • Microdataでは、同じコンテンツに複数の語彙を使用することは難しく、場合によっては不可能です。

  • 接頭辞を使用しているため、RDFaでは語彙を混在させることができます。

リバースプロパティの使用

  • Microdataは、リバースプロパティを使用する方法を提供していません。これは、逆プロパティを定義しない語彙に必要です(たとえば、&parentの代わりに定義するだけです)。人気のあるSchema.orgはそのような語彙です(いくつかの古い例外を除いて)。parentchild

    W3C Note Microdata to RDFは実験を定義していitemprop-reverseますが、この属性はW3CまたはWHATWGのMicrodataの一部ではありません。

  • RDFaは、(rev属性を持つ)リバースプロパティの使用をサポートします。

セマンティックWeb

  • Microdataを使用することにより、セマンティックWebに直接参加することはありません(AFAIK Microdataは意図していません)。これは主に、RDFシリアル化として定義されていないためです(ただし、MicrodataからRDFを抽出する方法はあります)。

  • RDFaはRDFシリアル化であり、RDFはW3CのセマンティックWebの基盤です。


RDFaCoreHTML+RDFaの仕様は、 HTML Microdataよりも複雑な場合がありますが、より多くの機能を提供するため、「公正な」比較ではありません。

Microdataに似ているのはRDFaLite 「ほとんどの日常のニーズに対応」)であり、この仕様は、少なくとも私の意見では、Microdataよりもはるかに複雑ではありません。

何をすべきか?

特定のコンシューマー(たとえば、検索エンジンやブラウザーアドオン)をサポートする場合は、サポートされている構文に関するドキュメントを確認する必要があります。

1つの構文のみを学習し、特定の消費者を念頭に置いていない場合(注意、主観的な意見!)、RDFaを使用してください。なんで?

  • RDFaは何年にもわたって成熟し、W3C Recですが、Microdataは比較的新しい発明であり、W3Cによって標準化されていません。
  • RDFaは、HTML5だけでなく、多くの言語で使用できます。
  • RDFaは、同じコンテンツの語彙の混合使用を許可し、リバースプロパティの使用をネイティブにサポートします。

決められない?両方を使う。

同じコンテンツに対して複数の構文を使用することもできるため、互換性を最大化するためにMicrodataRDFa(およびMicroformats、JSON -LDなど)を使用できることに注意してください。

  • 簡単なMicrodataスニペットは次のとおりです。

    <p itemscope itemtype="http://schema.org/Person">
      <span itemprop="name">John Doe</span> is his name.
    </p>
    
  • RDFa(Lite)を使用した同じスニペットは次のとおりです。

    <p typeof="schema:Person">
      <span property="schema:name">John Doe</span> is his name.
    </p>
    
  • そして、ここでは両方の構文が一緒に使用されます。

    <p itemscope itemtype="http://schema.org/Person" typeof="schema:Person">
      <span itemprop="name" property="schema:name">John Doe</span> is his name.
    </p>
    

ただし、通常、このルートをたどる必要はありません/推奨されません。

于 2014-09-17T10:41:21.503 に答える
30

セマンティック形式から得られる主な利点は、消費者がデータを再利用できることです。

たとえば、Googleのような検索エンジンは、次のようなリッチスニペットを表示するためにデータを再利用する消費者です。

レシピリッチスニペット

どのフォーマットが最適かを判断するには、どのコンシューマーをターゲットにするかを知る必要があります。たとえば、GoogleはFAQで、マイクロデータのみを処理すると述べています(ただし、テストツールはRDFaで動作するようになったため、RDFaを受け入れる可能性があります)。

ターゲットコンシューマーがRDFaのみを受け入れることを知らない限り、おそらくマイクロデータを使用するのが最善です。多くのRDFaを消費するサービス(セマンティック検索エンジンSindiceなど)もマイクロデータを受け入れますが、マイクロデータを消費するサービスはRDFaを受け入れる可能性が低くなります。

于 2012-01-30T15:56:25.160 に答える
5

長いですが、この質問に対する最も包括的な回答の1つは、Jeni Tennisonによるこのブログ投稿です:MicrodataとRDFaがハーモニーで一緒に暮らす

于 2012-01-27T09:07:55.440 に答える
3

MicrodataとRDFaの両方を使用するというunorの提案が良い考えかどうかはわかりません。彼の例でGoogleの構造化データテストツール(または他の同様のツール)を使用すると、重複データが表示されます。これは、Googleボットが本来の意図ではなくJohnDoeという名前の2人をWebページで取得することを意味しているようです。

したがって、特定のアイテムに1つの構文を使用する方がよいと思います(個別のエンティティを記述している限り、構文を混在させることができるはずです)。

私はこれについて間違っていることが証明されてうれしいですが。

于 2015-09-17T13:53:54.627 に答える
1

それはユースケースに大きく依存すると思います。科学的なユースケースの場合、RDFは一般的であり、さまざまな側面で使用されます。

ウェブサイトを充実させるために、少なくともGoogleがJSON-LDを推奨するようになりました。

ページの先頭または本文のタグに埋め込まれたJavaScript表記。マークアップはユーザーに表示されるテキストとインターリーブされないため、イベントのMusicVenueのPostalAddressの国など、ネストされたデータ項目を表現しやすくなります。また、JavaScriptコードやコンテンツ管理システムの埋め込みウィジェットなどによってページのコンテンツに動的に挿入された場合、GoogleはJSON-LDデータを読み取ることができます。

于 2021-01-05T10:25:42.693 に答える