web-dev-qa-db-ja.com

Microdata、RDFa、またはJSON-LD適切または最適な使用法は?

私はこれらのフォーマットのどれが「最良」であるかと思っていましたか? Schema.org、Microdata、およびRDFaは実装するのが少し面倒です。それらは検証を破り、文書に入れるのにかなりの努力を必要とします。

最後に、JSON-LDは、構造化データを実装するのに適した方法です。しかし、それは機能しますか? (少なくともGoogleによる)どのレベルのサポートがありますか?

61
Grzegorz

Schema.orgは、他の語彙と同様に、多くの形式で使用できる語彙です。 Webサイト http://schema.org/ には、 Microdata およびRDF =構文 RDFa および JSON-LD が、使用できる構文はこれらだけではありません。その他の [〜#〜] rdf [〜#〜] Turtle またはなどの構文RDF/XML

best構文はありません。それらにはすべて長所と短所があります。たとえば、 MicrodataとRDFa の違いについての私の回答を参照してください。 同じドキュメント内で異なる構文(および語彙) を使用できることに注意してください。

現在、特定の消費者を念頭に置いている場合は、それらのドキュメントを参照する必要があります。ただし、構文のサポートは行き来し、サポートするかもしれないすべてが必ずしも文書化されているわけではなく、文書化されているすべてが必ずしも機能するとは限りません。

Googleの場合は、おそらくRich Snippetsに興味があります。彼らの リッチスニペットに関するドキュメント は、Microdata、Microformats、およびRDFaについて言及しています。ただし、リンクされたすべての例がSchema.orgボキャブラリーを使用するわけではなく、古いData-vocabulary.orgまたはMicroformats(Schema.orgやData-vocabulary.orgなどのボキャブラリーをMicroformatsで使用できないため)を使用することに注意してください。また、 Sitelinks Search Box など、そのページにリストされていないリッチスニペットもいくつかあり、JSON-LD構文も推奨されています。

一般的なアドバイスとして:検索エンジンは通常、非表示のメタデータよりも可視コンテンツを優先します。たとえば、キーワードを非表示のメタデータとして使用すると、作成者はドキュメントが実際とは異なるものであると簡単に主張できます(検索エンジンをだまそうとするため、またはboth =場所)。そのため、JSON-LDの場合のように、メタデータをコンテンツから切り離すと、could(おそらく!)が、現在の検索エンジンが隠しメタデータに関して持つ同じ問題につながります。 (それが実際にどの検索エンジンで処理されるかは、Stack Overflowではトピック外の質問です。)

メタデータとコンテンツ(RDFaなど)を結合するもう1つの利点は、すべてが単なるRDFであるため、JSON-LD、Turtleなどで同じ情報を簡単かつ自動的に生成できることです。 RDFaを解析し、好みの形式に変換し、(scriptに)埋め込むか、または理にかなっている場合は(rel-alternateで)リンクするだけです。

ただし、RDFaを追加することは、JSON-LD blobを追加するよりも複雑になることがよくあります。既存のマークアップにRDFaを適応させる必要があるためです。 (ただし、間違いを犯さない限り、「検証を破る」べきではありません。)

49
unor

MicrodataRDFa、およびJSON-LDは現在非常にぼやけており、3つのうち事実上のdefactoはまだ受け入れられていません。これは今しばらく待たなければなりません。おそらく数年以上。

一方、Microdataには、前述のようにSchema.orgのラベルを付けないでください。これら2つは異なるためです。 Schema.orgは語彙であるため、Microdata、RDFa、およびJSON-LDで使用できます。

Schema.orgvocabularyとして使用し、JSON-を使用するデータ表現としてのLDは、それらについての2つの一般的な側面のため、おそらく最も予想されるペアです:

  1. 人間にとって読みやすい。そして
  2. 軽量の機械可読

しかし、それでも この例 のように2つの間に切断があります。

JSON-LDサポートに関しては、 Bing、Google、Yahoo!、Yandex がschema.orgの使用を認めているため、おそらく this例

2017アップデート

Googleはこの数年または3年、JSON-LD-schema.orgのプロモーションに積極的に取り組んできました。

16
Abel Callejo

GoogleはJSON-LDの使用に傾いているように見えますが、すべてのユースケースで実装されているわけではありません。

Googleは、JSON-LDサポートをより多くのマークアップを活用した機能に追加するプロセスを進めています。これまでのところ、JSON-LDはすべてのナレッジグラフ機能、サイトリンク検索ボックス、イベントリッチスニペット、レシピリッチスニペットでサポートされています。これらの機能にはJSON-LDを使用することをお勧めします。残りのリッチスニペットタイプとブレッドクラムについては、microdataまたはRDFaの使用をお勧めします。

http://developers.google.com/structured-data/schema-org

9
JeroenVdb

Googleは、ナレッジグラフ(企業および人)の構造化データSEOの参照例としてJSON-LDを使用します。 https://developers.google.com/structured-data/customize/overview を参照してください

個人的には、当面はJSON-LDとMicrodataの組み合わせをサイトに使用しています。

JSON-LDを介して提供する情報が検索エンジンに関連しているかどうかを特定する他の手段があると思います(ページの確認は、実際にそれが主張していることについて話しているなど)。

6
Arnaud Leyder

(回答を更新しています!)

「人気」については、 this question/answers をご覧ください。

今日のマイクロデータは最も人気があります。3400万のドメインの世界で、563万(〜17%)のRDFaによる「コンテンツマークアップ」(専門用語 markup を使用します) 0,9百万)、 Microdata(2.5百万)またはMicroformats、および半分未満が separated セマンティック記述子を使用し、 JSON-LD、212万(6%)。
PS:一般に、同じドメイン内のページには同じテンプレートと他のローカル機関の規則の施行があるため、「ページごとの統計ではなく」「ドメインごとの統計」をお勧めします。

「セマンティクスを表現するドメイン」(775百万)の世界では、統計プロファイルは次のとおりです。

  • 73%マークアップセマンティック
  • 27%分離セマンティック
  • (...ミックス「separated + markup」としての交差はゼロにすることができます...)

2017年の経験則

マークアップセマンティクスをMicrodataとともに使用し、さらに it の後、何かを表現する必要がある場合マシン、 useJSON-LD


マークアップセマンティックを使用します。これは最も人気があり、マークされたコンテンツが人間とマシンによって同時に検証可能/監査可能になるためです。

重要:Microdata、RDFa(W3C標準)、JSON-LD(W3C標準)は(簡単に)RDFに変換できるため、これらの形式はすべて互換性があることに注意してください。


PS:HTMLテーブルについては、 W3Cのtabular-metadata もご覧ください。 CSV files のような非HTMLリソースを開くには、RDF互換の W3Cのtabular-data-model および/または/を使用します。 frictionlessdata/specs

5
Peter Krauss

最初から、JSON-LDが道のりです。みましょう JSON-LDの主要な作成者の1人 、Manu Sporny、計量してください:

セマンティックWebではなく、JSON-LDの作成の動機となったのは、より良いWeb APIに対する要望です。セマンティックWebを現実にしたい場合は、それを主張せず、実際にマシンをよりスマートにしたり、人々に役立つ方法でデータを公開するのを手伝うなど、もっと役に立つことをしてください。

JSON-LDは、実装するのに便利/簡単な方法でデータを公開することがすべてです...

現在ほとんどのウェブ開発者が使用しているテクノロジーに基づいています。

1
Mac