2011年 11月 08日 ― 読者からのコメントに対応し、著者によってリスト 1 の内容が置き換えられ、birthDate に span 要素が追加されました。
はじめに
2011年 5月、Google、Yahoo、Bing の 3 社が schema.org を発表した途端、誰もが構造化データについて話題にするようになりました。schema.org は、検索エンジンが Web ページを理解するための新たな手段です。Web コンテンツの作成者が Web ページにほんのわずかなメタデータ (語彙集のわずか 2 つか 3 つの用語) を加えるだけで、3 つすべての検索エンジンで、より有効で参考になる検索結果が表示されるようになります。
schema.org による追加のマークアップは、今のところまだ、schema.org を実装した多くのサイトの検索結果の表示方法を変えるには至っていません。それでも Web コンテンツの作成者は、schema.org によるマークアップを Web ページに追加して、3 つの主要な検索エンジンでそのマークアップが利用されるようにしようと積極的になっています。
構造化データを HTML に追加するための構文を扱った経験のない Web 作成者にとって、schema.org を追加するのは難題となります。構造化データのための構文として挙げられるのは、以下の 3 つです。
- microformats
- RDFa
- microdata
このうち、Google (多くの Web 作成者にとって最も影響力の大きい検索エンジン) では microdata だけを処理する方向であると示唆していますが、さらなる難題として、上記の 3 つの構文のなかで最も新しい構文である microdata には、今のところ十分なツールのサポートがない状態です。
この記事では、Drupal を使用してページに microdata を追加する方法を説明します。Google リッチスニペットなどのアプリケーションで使用できるようにコンテンツを作成する方法を学んでください。
この記事のソース・コードは、「ダウンロード」からダウンロードすることができます。
microdata の概要
microdata は、構造化データを Web ページに追加する簡単な手段です。microdata で定義しているいくつかの属性 (itemtype
や itemprop
など) を HTML タグに埋め込むことで、Web ページの内容を示すことができます。microdata が HTML 5 仕様の編集者である Ian Hickson 氏によって提唱されたのは 2009年のことですが、その根本概念はずっと前から存在していました。
microdata のベースとなっている RDFa は、RDF を HTML に埋め込む手段の 1 つです。RDFa は 2004年、W3C の技術ノートという形で Mark
Birbeck 氏によって発案され、次のバージョンの XHTML に統合されました。RDFa では property
や about
などの新しい HTML 属性をいくつか導入していますが、rel
などの HTML 属性はそのまま使用しています。
RDFa は強力ではあるものの、属性が複雑に関係し合うことから、作成者が自分の作成した RDFa を正しいかどうかを判断しにくい場合があります。また、RDFa は XML の機能を一部継承していますが (名前空間接頭辞など)、これも混乱を招きがちです。
RDFa が発表されてから 1 年少し経つと、XHTML におけるもう 1 つの構造化データ・バージョンとして microformats
プロジェクトが一般の開発者グループによって立ち上げられました。RDFa とは対照的に、microformats では Web コンテンツの作成者がすでに使い慣れている既存の
XHTML 属性 (例えば、リンクに設定する rel
属性など) を使用しますが、これらの属性に多少のセマンティクスも加えます。それまでは、可視のコンテンツをマークアップすることだけに重点が置かれていましたが、それだと非表示のコンテンツが誤用されたり、可視のコンテンツと一致しなくなったりしやすいためです。
microformats には、構文解析をする汎用的な方法がないという問題があります。そのため、それぞれの microformats に対するサポートを追加しなければなりません。例えば、カレンダー・データと住所データの両方を処理するとしたら、お使いのパーサーが確実にその両方をサポートするようにするか、2 つの異なるパーサーをそれぞれに使用する必要があります。さらに、コミュニティーのプロセスを利用して新しい microformats を公開するのも簡単ではありません。
microdata には、microformats と RDFa の素晴らしい発想が結集されています。具体的には、microdata には以下の特徴があります。
- 属性の数を減らし、属性を配置可能な場所も減らすことで、RDFa の複雑さを軽減しています。
- 名前空間接頭辞を使用しません。
- RDFa の汎用的な構文解析手法を引き継いでいるため、公開されたデータに対して実行されるツールをごく簡単に作成することができます。
- ユーザーのグループがそれぞれに独自の属性値のセット (語彙集と呼ばれます) を作成して microdata で使用できるようにしています。
schema.org の語彙で microdata を追加する方法
schema.org は microdata と相性の良い語彙集です。語彙集を管理する認定団体はないことから、検索エンジンの所有者たちは、それぞれのニーズを満たす独自の語彙集を考案することが可能でした。語彙の大半が対象としているのは、人物、場所、イベント、娯楽、商業など、Google がすでにそのリッチスニペットで重点を置いている事項です。
いくつかの典型例 (「参考文献」を参照) を見れば、schema.org 用語をサイトに追加する方法がわかってくるはずです。一例として、リスト 1 に schema.org の用語で強化した映画の説明を示す単純なマークアップを記載します。
リスト 1. schema.org で強化された単純な映画用マークアップ
<div itemscope itemtype ="http://schema.org/Movie"> <h1 itemprop="name"&g;Avatar</h1> <div itemprop="director" itemscope itemtype="http://schema.org/Person"> Director: <span itemprop="name">James Cameron</span> (born <span itemprop="birthDate">August 16, 1954)</span> </div> <span itemprop="genre">Science fiction</span> <a href="../movies/avatar-theatrical-trailer.html" itemprop="trailer">Trailer</a> </div>
追加のマークアップによる効果がどのようなものかは、すぐにはわからないかもしれません。それを知るには、上記のスニペットを含めたページを Web に公開した後、ページの URL を Google リッチスニペット・テスト・ツール (「参考文献」を参照) に入力します。図 1 にその結果の一部を示します。Web サーバーに簡単にアクセスできない場合には、Opera の開発者である Philip Jägenstedt 氏によって提供されている Live Microdata テスト・ツール (「参考文献」を参照) に上記のスニペットをコピー・アンド・ペーストするという方法もあります。
図 1. リスト 1 の例から抽出された schema.org の microdata

このように、ツールは 2 つの項目に関する情報 (映画と、その映画の監督) を抽出しました。
microdata には、2 つの主要な概念として、「アイテム」と、アイテムの「プロパティー」があります。プロパティーには、ストリングまたは別のアイテムを設定することができます。例えば上記の場合、Movie タイプのアイテムがあり、このアイテムのプロパティーには、ストリングを値に持つ name というプロパティーや、Person タイプのアイテムを値に持つ director というプロパティーなどがあります。
あるアイテムについての話題を開始することをパーサーに知らせるには、itemscope
属性を使用します。さらに、itemtype
属性を使用して、そのアイテムのタイプをパーサーに知らせることもできます。
itemtype
によって、itemprop
属性の値として使用できるプロパティーが決まります。例えば、schema.org サイトのアイテム・タイプ Movie
のページには、映画に関して使用できるプロパティーのリストがあります (「参考文献」を参照)。ただし、このリストにない他のプロパティーでも、プロパティーの完全な URL
を指定すれば、属性の値として使用することができます。例えば、FOAF 語彙集でも name
プロパティーを指定しているので、schema.org の name
プロパティーの代わりに FOAF の name
プロパティーを使用するには、itemprop="http://xmlns.com/foaf/0.1/name"
と指定します。
Movie の <div> 内に含まれるすべてのプロパティーは、div の終わりに達するまで、または (リスト 1 のように) Movie 内の div
に設定された itemscope
に達するまでは、映画のプロパティーとして認識されます。itemscope
属性は、別の事柄 (リスト 1
の場合は「人物」) について話題にすることを示すため、birthplace
プロパティーは Movie ではなく Person の属性として理解されます。
このように、ちょっとした構造がコンテンツに追加されていれば、どのツールでも関連情報を抽出しやすくなります。HTML に属性を追加することによって、Web ページ内のデータは、まるで Excel スプレッドシートやデータベースに含まれるデータであるかのように簡単に処理できるようになります。
microdata はかなり単純なものですが、手作業でコンテンツに追加して保守をするとなると、やはり厄介な作業になる可能性があります。microdata の生成をサポートするツールはいくつかあります。その 1 つが、Drupal の Microdata モジュールです (「参考文献」を参照)。
Drupal を使用して Web ページに microdata を追加する方法
Drupal は、Web のおよそ 2% で利用されているコンテンツ管理システムです。サイト管理者は Drupal のユーザー・インターフェースを使用して、ユーザーからコンテンツを収集するためのフォームを作成することができます。フォームを作成すると、Drupal が自動的にフォームのデータに対応する適切なテーブルとフィールドをデータベース内に作成し、データの表示を構成可能なように処理してくれます。
Drupal は特に構造化データに適しています。その理由は、コンテンツの扱い方にあります。Drupal ではコンテンツを、フィールド値という形のプロパティーを持つ個別の要素 (エンティティーと呼ばれます) として扱うためです。Drupal 7 では、RDFa を使用して構造化データを HTML に追加する機能が Drupal コアに統合されました。
2011年 6月 2日の発表以来、schema.org の取り組みは進展を続けており、同様のサポートは microdata の出力に対しても追加されています。microdata モジュールは今でも開発中で、実際のサイトで使用可能な状態には至っていません。ただし、テスト・サイトでの実験として、microdata モジュールを使用してフィールドの microdata を生成し、その microdata に基づいてリッチスニペットでの表示をテストすることは可能です。
これから、上記の例を Drupal を使用して作成し直します。「参考文献」を参照しつつ、Drupal の以下のモジュールの最新リリースをダウンロードして、使用できるようにしてください。
- microdata
- Entity API
- CTools
コンテンツ・タイプをマークアップする
ユーザーが特定のエンティティーで収集および保管するフィールド値を定義するには、「コンテンツ・タイプ」を使用します。例えば、「製品」というコンテンツ・タイプを作成し、このコンテンツ・タイプに製品の価格、選択可能な色、サイズ、そしてメーカーの型番を収集するためのフォーム・フィールドを設定すれば、在庫の管理が楽になります。
この演習では、映画のコンテンツ・タイプを作成します。「Structure (構造)」 > 「Content Types (コンテンツ・タイプ)」の順に選択し、「Add Content type (コンテンツ・タイプの追加)」をクリックし、以下の情報を入力してください。
- Name (名前): 「
Movie
」 - Description (説明): 「
A page describing a movie
」 - Comment settings (コメント設定): 「Closed (クローズド)」を選択します。このページには、コメント機能は必要ありません。
- microdata settings (microdata 設定): アイテム・タイプとして「
http://schema.org/Movie
」を追加します。タイトルは特殊なフィールドで、専用の編集画面はありません。したがって、タイトルもコンテンツ・タイプに追加して、
name
プロパティーを使ってタイトルをマークアップします。
このサンプルが機能するかどうかをテストするには、Movie アイテムを新規に作成する必要があります。「Add content (コンテンツの追加)」に進んで Movie
アイテムを作成した後、リッチスニペット・テスト・ツールを使って、Web
ページからデータを抽出できるかどうかを確かめてください。サンプルが正常に機能する場合、「Type」が「http://schema.org/movie
」で、「name」が「Cool Hand
Luke
」となっている 1 つのアイテムが表示されるはずです (図 2 を参照)。
図 2. コンテンツ・タイプとタイトルをマッピングした後に抽出された microdata

このコンテンツ・タイプは Movie として認識され、そのタイトルが示されましたが、この映画に関する情報はそれだけではありません。
テキスト・フィールドのマークアップ
コンテンツに関する追加情報は、フィールドをコンテンツ・タイプに追加することによって収集します。このサンプルでは、映画専用のフィールドとして映画のジャンルを追加します。
コンテンツ・タイプにジャンルを追加するために、「Structure (構造)」 > 「Content Types (コンテンツ・タイプ)」の順に選択し、Movie コンテンツ・タイプの「manage fields (フィールドの管理)」をクリックします。ジャンルを収集するには、テキスト・フィールドを使用します。以下の情報を入力してください。
- Label (ラベル): 「
Genre
」 - Field name (フィールド名): 「
genre
」 - Type of data to store (フィールド・タイプ): 「
Text
」 - Form element to edit the data (フィールド・ウィジェット): 「
Text field
」
「Save (保存)」をクリックし、表示される次のページでさらに「Save field settings
(フィールド設定を保存)」をクリックします。フィールド・インスタンスの構成フォームの一番下に、「GENRE MICRODATA MAPPING (Genre
microdata のマッピング)」と表示されているはずです (図 3 を参照)。「Field property (フィールド・プロパティー)」に「genre
」と入力して「Save (保存)」をクリックします。
図 3. テキスト・フィールドをマッピングするためのインターフェース

コンテンツを編集して映画のジャンルを追加してください。リッチスニペットを最新の情報に更新すると、「Type」と「name」の他に、「genre」も表示されるはずです。
画像フィールドをマークアップする
サンプルでは画像を使用しませんでしたが、このコンテンツ・タイプには、例えば映画のポスターなどの画像を追加することができます。この場合、リッチスニペットには画像のサムネールが表示されます。
コンテンツ・タイプに画像を追加するには、「Structure (構造)」 > 「Content Types (コンテンツ・タイプ)」の順に選択し、「manage fields (フィールドの管理)」をクリックし、以下の情報を入力します。
- Label (ラベル): 「
Poster
」 - Field name (フィールド名): 「
poster
」 - Type of data to store (フィールド・タイプ): 「
Image
」 - Form element to edit the data (フィールド・ウィジェット): 「
Image
」
ポスターには image schema.org
プロパティーを使用します。「Field property
(フィールド・プロパティー)」フィールドには、「image
」と入力します (図 4 を参照)。
図 4. 画像フィールドをマッピングするためのインターフェース

Movie アイテムを編集して画像を追加し、保存します。リッチスニペットを再度テストすると、「image
」プロパティーの
URL として、「http://lin-clark.com/sites/default/files/cool-hand-luke.jpg
」が表示されるはずです
(図 5 を参照)。このアイテムには他にも、「Type」として「http://schema.org/movie
」が、「name」として「Cool Hand
Luke
」が、そして「genre」として「prison drama
」が表示されます。
図 5. テキストおよび画像フィールドから抽出された microdata

リッチスニペットにはポスターのサムネールも表示されるはずです (図 6 を参照)。Google のテスト・ツールは活発に開発が進められているので、それに伴いリッチスニペットでのこのマークアップの表示内容は変わります。下記のリッチスニペットのスクリーン・キャプチャーは 9月 14日に撮ったものですが、9月 19日には表示内容が変わっていました。
図 6. リッチスニペットでの映画の表示

フィールド・フォーマッターで microdata を使用可能にする方法
通常サイトに載せるようなデータのほとんどは、テキスト・フィールドと画像フィールドで対処することができますが、対処しきれないタイプのデータもあります。サイト管理者が必要とする可能性のある、あらゆるタイプのデータに対処できるように、Drupal のフィールド・システムはユーザーに基本的なフィールド・タイプの選択肢を提示し、API を使用してモジュールに新しいフィールド・タイプを定義できるようにしています。モジュールには、フィールド・タイプごとにさまざまなデータ収集フォーム (ウィジェット)、データ・ストレージ、および表示 (フォーマッター) を定義することができます。このようなフィールド・モジュールをインストールすれば、サイト管理者はコードをまったく作成することなく、ウィジェットとフォーマッターを構成できるというわけです。
HTML 内での microdata の属性の配置場所には厳格な要件があります。そのため、Drupal のフィールド・タイプごとに、フォーマッター内での属性の配置場所を定義する必要があります。Drupal コアで定義しているフィールド・タイプのほとんどは microdata をサポートしていますが、広く用いられているフィールド・タイプのなかには、まだ microdata をサポートしていないものも数多くあります。
コントリビュート・モジュールに定義されているフィールド・フォーマッターを使用する場合、microdata をサポートしているかどうかを追跡している表を確認することができます。フィールド・フォーマッターがまだ microdata をサポートしていないとしても、そのフィールド・フォーマッターを使用できないわけではありません。フィールド・フォーマッターに microdata のサポートを追加するのは簡単です。microdata をサポートするための変更を盛り込んだパッチを作成して、そのモジュールに貢献することもできます。これは、Drupal 開発者コミュニティーへの素晴らしい参加方法です。
schema.org のサンプルでは、映画の予告編へのリンクがマークアップされています。この記事を執筆している時点で、Drupal Link モジュールが定義しているリンク・フィールド・フォーマッターは microdata をサポートしていませんが、そのサポート状況を変えることはできます。
これから、Link モジュールに microdata のサポートを追加する方法を説明します。以降のサンプル・コードで使用している Link モジュールのコードは 2011年 9月 20日時点のものです。このコードは、記事に付属のダウンロード・ファイルに含まれています (Link モジュールの最新バージョンは変わっているため、microdata のサポートが追加されている可能性があります)。
プロパティーを登録する
リンク・フィールドには、microdata を使って公開するのにちょうどよい以下の 2 つのデータがあります。
- リンクの URL
- その URL へのリンク・テキスト
上記のデータを公開することに決めたら、Entity API モジュールの 1 つ、Entity Property API を使用して、この 2 つのプロパティーをシステムに通知する必要があります。
プロパティー情報をフィールド定義に追加し、その定義を link_field_info
によって登録します。フィールド定義には、フィールド自体の property_type
、そして property_callbacks
を追加します (リスト 2 を参照)。
リスト 2. link_field_info
にフィールドのプロパティー情報を追加する
/** * Implements hook_field_info(). */ function link_field_info() { return array( 'link_field' => array( 'label' => t('Link'), 'description' => t('Store a title, href, and attributes in the database to assemble a link.'), // ... 'property_type' => 'field_item_link', 'property_callbacks' => array('link_field_property_info_callback'), ), ); }
プロパティー・タイプを通じて、システムはフィールドのデータ・タイプを知ることができます。field_item_link
は認識されているデータ・タイプでもエンティティーでもないため、処理される時点でデータ・タイプは struct
にデフォルト設定されます。この struct
は、マークアップするプロパティー (リンクの URL とリンク・テキスト) のコンテナーとしての役目を果たします。これは単なるコンテナーに過ぎないため、microdata はフィールド自体に対して使用可能にするのではなく、フィールドのプロパティーに対して使用可能にします。
プロパティー・コールバックは、コンポーネント・プロパティーに同じプロパティー・タイプの情報を登録する関数です。microdata
でプロパティーをマークアップするには、各プロパティーで microdata を TRUE
に設定します (リスト 3 を参照)。こうすることにより、これらのプロパティーの microdata を追加するためのグラフィカル・ユーザー・インターフェースが提供されます。
リスト 3. プロパティー・コールバックでフィールドのプロパティーを登録する
/** * Additional callback to adapt the property info of link fields. * @see entity_metadata_field_entity_property_info(). */ function link_field_property_info_callback(&$info, $entity_type, $field, $instance, $field_type) { $property = &$info[$entity_type]['bundles'][$instance['bundle']]['properties'] [$field['field_name']]; $property['property info'] = array( 'title' => array( 'type' => 'text', 'label' => t('The title of the link.'), 'microdata' => TRUE, ), 'url' => array( 'type' => 'uri', 'label' => t('The URL of the link.'), 'microdata' => TRUE, ), ); if ($instance['settings']['title'] == 'none') { unset($property['property info']['title']); } }
ユーザー・インターフェースはプロパティー情報からラベルを抽出し、そのタイプによって、表示するフォーム・フィールドのタイプを判断します。プロパティーがストリングではなくアイテムの場合には、itemtype
フィールドも表示されます。図 7 に、予告編の 2 つのプロパティーとなっている、リンクのタイトルと、リンクの URL の例を示します。
図 7. リンクの microdata マッピング・フォーム

これで、フィールド構成フォームでフィールドのプロパティーに使用する語彙集の用語を指定することができます。ただし、属性が HTML に挿入されるようにするには、多少のコードを追加しなければなりません。
テーマを設定した出力に microdata を追加する
microdata を追加するには、フィールドの HTML 出力を変更する必要があります。例えば、ソフトウェア・アプリケーションへのリンクを追加するとしたら、リンク・テキスト
(ソフトウェアの名前) に name
プロパティーを使用し、リンク自体に url
プロパティーを使用することになります。このように出力を変更するために、リスト 4 に、URL の itemprop
を <a> タグに追加し、テキストの itemprop
を設定した span でテキスト・コンテンツを囲む方法を示します。
リスト 4. microdata を挿入する前と挿入した後のリンク
<a href="http://drupal.org">Drupal</a> <a itemprop="url" href="http://drupal.org"><span itemprop="name">Drupal</span></a>
このようにコードを変更するよりも、Link モジュールにこれらの属性を挿入させるほうが簡単です。フィールドのデータベースに保管されたコンテンツを HTML
に変換するために、フィールド・フォーマッター・モジュールにはそれぞれ独自の view 関数があります。一部のフォーマッターは、HTML を生成するために view
関数の中でテーマ関数を使用します。その一例は、theme_link_formatter_link_default()
です。多くの場合、テーマ関数には、field_formatter_view
関数から microdata 属性を渡す必要があります。
Link モジュールでは、フォーマッターがすでに item 変数を使って <a> タグに配置する属性の配列を渡しています。その配列に URL の itemprop
を追加すれば、必要に応じて自動的に microdata が出力されるようにすることができます (リスト 5 を参照)。
リスト 5. hook_field_formatter_view
に microdata を追加する
/** * Implements hook_field_formatter_view(). */ function link_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) { $elements = array(); $microdata = array(); // If the microdata module is enabled, the microdata mapping will have been // passed in via the entity. if (module_exists('microdata')) { $microdata = $entity->microdata[$field['field_name']]; } foreach ($items as $delta => $item) { // Add the url attributes to $item['attributes'] because the theme function // will pass it through to l(), properly placing the itemprop for the url. if (isset($microdata['url'])) { $item['attributes'] += $microdata['url']['#attributes']; } // Pass the microdata array to the theme function so it can be used to place // the link title's attribute. $elements[$delta] = array( '#markup' => theme('link_formatter_'. $display['type'], array('element' => $item, 'field' => $instance, 'microdata' => $microdata)), ); } return $elements; }
その一方、テキスト・コンテンツの属性を自動的に配置する方法はありません。したがって、テキスト・コンテンツの属性をテーマ関数に渡し、テーマ関数がこれらの属性を使用するように変更する必要があります。
microdata の変数をテーマ関数に渡した後は、itemprop
を含めた <span>
タグでタイトルを囲むことができます。リスト 6 のコードは、テキストの itemprop
の有無をチェックし、これが存在する場合には microdata を追加します。
リスト 6. テーマ関数の中で microdata を追加する
/** * Theme function for 'default' text field formatter. */ function theme_link_formatter_link_default($vars) { $url = $vars['element']['url']; $microdata = $vars['microdata']; // If there is an itemprop set for the title, wrap the title in a span and // add the itemprop to that span. if (!empty($microdata['title'])) { $title = '<span ' . drupal_attributes($microdata['title']['#attributes']) . '>' . $vars['element']['title'] . '</span>'; } else { $title = $vars['element']['title']; } // Create the array of options to pass to l(). $link_options = $vars['element']; unset($link_options['element']['title']); unset($link_options['element']['url']); // Display a normal link if both title and URL are available. if (!empty($title) && !empty($url)) { return l($title, $url, $link_options); } // If only a title, display the title. elseif (!empty($title)) { return check_plain($title); } // If only a url, display the full url as a link. elseif (!empty($url)) { return l($url, $url, $link_options); } }
これで、フォーマッターの microdata 出力をテストすることができます。
コミュニティーへの変更内容の寄付
Drupal が強力な技術ソリューションとなっている 1 つの要因は、Drupal コミュニティーを構成している多数のコントリビューターです。これらのコントリビューターは、Drupal に熱中しているだけではありません。その多くは、自分のサイト用に作成したコード・フィックスを他のユーザーが使用できるようにパッチとして投稿しています。
独自のプロジェクトでフィールド・フォーマッターに microdata を追加した場合には、その成果を Drupal コミュニティーに寄付することができます。それにはまず、該当するモジュールの「issue queue (問題キュー)」に問題を投稿し、そのモジュールで microdata をサポートするように提案します。このような問題は、「feature request (フィーチャー・リクエスト)」と呼ばれています。そして、フィーチャー・リクエストに関連する変更内容を盛り込んだパッチを投稿すればよいのです (Drupal プロジェクトのパッチを作成する方法を説明している優れたチュートリアルもあります)。パッチを投稿したら、フィーチャー・リクエストに「needs review (要レビュー)」のマークを付けてください。
まとめ
この記事では、Drupal を使用してページに microdata を追加し、そのコンテンツを Google リッチスニペットなどのアプリケーションで使用できるようにする方法を説明しました。Drupal に新たに加わった microdata モジュールを使用すれば、基本的なフィールド・タイプの microdata 出力を構成したり、カスタム・フィールド・タイプに microdata 出力を追加したりすることができます。それによって、皆さんのデータをベースに他の人々がアプリケーションを作成できるようになります。
ダウンロード
内容 | ファイル名 | サイズ |
---|---|---|
Article source code | microdata-source2.zip | 820KB |
参考文献
学ぶために
- schema.org: このスキーマのコレクションについて詳しく学んでください。Web マスターはこれらのスキーマ、つまり HTML タグを使用して、主要な検索プロバイダーで認識されるようにページをマークアップすることができます。
- Getting started with schema.org: このチュートリアルで、microdata を使ってコンテンツをマークアップする方法、schema.org の語彙を使用する方法を学んでください。高度なトピックも取り上げられています。
- Itemtype の URL: itemtype の URL (http://schema.org/Movie など) にアクセスして、schema.org アイテムで使用できるプロパティーを調べてください。
- microdata のサポート: このページで、フィールド・フォーマッターが microdata をサポートしているかどうかを調べられます。
- データ・タイプ: Drupal での microdata がどのようにエンティティー・プロパティーを使用するかを調べてください。
- 「セマンティック Web、Linked Data、そして Drupal: 第 1 回 RDF を使ってデータを公開する」(Lin Clark 著、developerWorks、2011年4月): Web データの相互運用性を改善してデータ共有を効率化してください。この記事では、RDF でコンテンツを公開することによって、Drupal 7 を使用して Linked Data を公開する例を紹介しています。
- 「セマンティック Web、Linked Data、そして Drupal: 第 2 回 Drupal 7 と SPARQL Views を使用して複数の関連するデータ・セットを合成する」(Lin Clark 著、developerWorks、2011年5月): 「データの Web」で現在使用可能になっている既存の Linked Data を利用する方法、そして複数の異なるエンドポイントからデータを取得して Drupal 7 サイトを強化する方法を学んでください。
- Creating Patches for Drupal Projects: パッチとは何か、そして Drupal プロジェクトのコンテキストでパッチを使用する方法を学んでください。Drupal HTML5 イニシアチブのリーダー、Jacine Luisi が手ほどきします。
- セマンティック Web に関する Scientific American の記事: Tim Berners-Lee 氏、James Hendler 氏、および Ora Lassila 氏によるセマンティック Web に関するこの画期的な記事を読んでください。
- Linked Data: ReadWriteWeb に掲載されている Tim Berners-Lee 氏への Linked Data に関するインタビューを読んでください。
- Linked Data の設計問題: Linked Data の設計に関する問題について Tim Berners-Lee 氏が説明しています。
- 「リッチ スニペット (microdata、microformats、RDFa) – ウェブマスター ツール ヘルプ」: Google リッチスニペットの詳細、そして Web コンテンツにラベルを付けてデータの種類 (レストランの名前、住所、評価など) を明確にする方法を学んでください。
- 「Implement Semantic web standards in your Web site」(Rob Crowther 著、developerWorks、2008月5月): PHP と MySQL を使用して、セマンティック URI (Uniform Resource Identifier) スキームの一環としてのセマンティック Web 標準 (hCard や FOAF (Friend Of A Friend) など) を実装する単純なソーシャル・ネットワーキング・サイトを作成してください。
- 「Developing Drupal publications to support standards-based XML」(Garrick Bodine、Stephanie Schlitz 共著、developerWorks、2011年2月): TEI (またはその他の) XML 文書の公開をサポートするように Drupal インストール済み環境をカスタマイズする方法を学んでください。
- Drupal Installation Guide: インストールのための準備内容、インストール・スクリプトの実行方法、そしてインストール・スクリプトが完了した後の手順を読んでください。
- Install Drupal 7 with the Acquia Stack Installer: この動画を見て、Acquia Stack Installer を使用して Drupal 7 をインストールするステップ・バイ・ステップの手順を学んでください。
- FOAF Vocabulary Specification 0.98: W3C の RDF 技術を使用した名前付きプロパティーおよびクラスの辞書として定義された FOAF 言語について調べてください。
- Dublin Core Metadata Initiative (DCMI): 広範な目的とビジネス・モデルをサポートする相互運用可能なメタデータの開発に取り組んでいる、このオープン組織について学んでください。
- SIOC (Semantically-Interlinked Online Communities) Core Ontology Specification: セマンティック Web のオンライン・コミュニティーからの情報 (掲示板、ウィキ、Web ログなど) を記述するために必要となる主要概念およびプロパティーについて学んでください。
- SPARQL Explorer for http://dbpedia.org/sparql: Web で使用できるデモ用クエリー・インターフェースを試してください。
- New to XML: XML を学ぶために必要なリソースを入手してください。
- developerWorks の XML エリア: DTD、スキーマ、XSLT を含め、XML 分野でのスキルを磨くための資料を見つけてください。広範な技術に関する記事とヒント、チュートリアル、標準、そして IBM Redbooks については、XML 技術文書一覧を参照してください。
- IBM XML 認定: XML や関連技術の IBM 認定技術者になる方法について調べてください。
- developerWorks の Technical events and webcasts: これらのセッションで最新情報を入手してください。
- Twitter での developerWorks: 今すぐ登録して developerWorks のツイートをフォローしてください。
- developerWorks podcasts: ソフトウェア開発者向けの興味深いインタビューとディスカッションを聞いてください。
- developerWorks オンデマンド・デモ: 初心者向けの製品のインストールおよびセットアップから熟練開発者向けの高度な機能に至るまで、さまざまに揃ったデモを見てください。
製品や技術を入手するために
- Acquia Drupal: オープンソースの Drupal ソーシャル・パブリッシング・システムをパッケージ化した無料のディストリビューションを入手してください。
- Google Rich Snippets Testing Tool: 作成したマークアップをこのツールでテストしてください。
- Google リッチスニペット、Field collection、Entity API: これらのモジュールの開発リリースをダウンロードしてください。
- Live Microdata テスト・ツール: もう 1 つの microdata テスト・ツールを利用してください。これは、Opera 開発者の Philip Jägenstedt によって作成されたツールです。
- IBM 製品の評価版: DB2、Lotus、Rational、Tivoli、および WebSphere のアプリケーション開発ツールとミドルウェア製品を体験するには、評価版をダウンロードするか、IBM SOA Sandbox のオンライン試用版を試してみてください。
議論するために
- developerWorks プロフィール: 今すぐ developerWorks で自分のプロフィールを作って、ウォッチ・リストをセットアップしてください。
- XML ゾーンのディスカッション・フォーラム: XML 関連のフォーラムに参加してください。
- developerWorks コミュニティー: ここでは他の developerWorks ユーザーとのつながりを持てる他、開発者が主導するブログ、フォーラム、グループ、ウィキを調べることができます。
コメント
IBM PureSystems
IBM がどのように IT に革命をもたらしているのかをご自身でお確かめください
Knowledge path
developerWorks の Knowledge path シリーズでは、テーマ別の学習資料をご提供しています
ソフトウェア評価版: ダウンロード
developerWorksでIBM製品をお試しください!