拡張メカニズム

検索を含む多くのアプリケーションは、解釈できるボキャブラリーでの表現でなければ、構成されたデータを利用できません。一方で、schema.orgのような単独の組織にとっては、完全に網羅するにはwebの全域は豊かで多様すぎます。

そこで、schema.orgは拡張メカニズムを作成し、webマスターとデベロッパーに既存のスキーマを拡張できるようにしました。スキーマを拡張する場合、これらの拡張を利用してデータをマークアップすれば、検索アプリケーションがそれを理解して適切にデータを利用します。

(勿論、schema.orgの範囲外のスキーマあった場合、schema.orgに全く結びつきがないスキーマでも新規に作成する事ができます。もしそのスキーマが検索に有益と判断された場合、採用され検索エンジンにデータが利用される可能性があります。)

採用され重要だと判断された拡張は、検索エンジンのデータ構造解釈の改善による機能拡張のため、schema.orgの中核ボキャブラリーに移動されます。

命名ルールに関する注意点

Schema.orgは以下のような命名ルールを採用しており、拡張メカニズム同様にこれに従うようお願いします。
  • 種類や列挙はCamelCase形式を用いる
  • 小文字で始まる属性も同様にCamelCase形式で記述する。複数の値が当てはまる属性(parentsなど)は複数で、一つの値しか当てはまらない属性(dateOfBirthなど)は単一で記述する。

schema.orgボキャブラリーの拡張

schema.orgでは '/' 記号を利用し既存のボキャブラリーの詳細を作成します。

既存の属性の拡張

以下のように / 記号を挟んで既存の属性を拡張します。

musicGroupMember/leadVocalist
musicGroupMember/leadGuitar1
musicGroupMember/leadGuitar2

既存のクラスの拡張

以下のように / 記号を挟んで既存のクラスを拡張します。

Person/Engineer

詳細クラスの中に更に詳細クラスを導入する場合は、同様に以下のように記述します。

Person/Engineer/ElectricalEngineer

列挙項目の拡張

列挙された既存の項目を拡張するには、 '/' 記号を挟み、その後に拡張の名前を記述します。例えば、既存のEBookに詳細のKindleBookを拡張するには以下のように記述します。

EBook/KindleBook

schema.orgに記述されているどのクラスにも、たとえ既存のクラスの詳細要素でなくとも、新しい属性を挿入する事ができます。少なくとも検索エンジンに対象の一部の情報を理解させるために、独立した新しいクラスを記述するよりも、Webマスターにはこちらを奨励します。

もちろん、いつでもschema.orgの既存のものと括り付けられていない新しいスキーマを作成する事も可能で、あなたのドメインのコンテンツがまだschema.orgに扱われてない場合に作成してください。採用がされ次第、検索エンジンはそのデータを利用し始めます。