Schema.orgの基本

Schema.orgは「タイプ(型)」と「プロパティ(属性)」という概念に基づいています。タイプを指定し、プロパティを記載することで情報の意味を表現することができます。

LDJSON形式の例です。

{
  "@context": "https://schema.org",
  "@type": "Event",
  "name": "東京テックカンファレンス",
  "location": {
    "@type": "Place",
    "name": "東京カンファレンスセンター",
    "address": {
      "@type": "PostalAddress",
      "addressLocality": "東京",
      "postalCode": "100-0001"
    }
  }
}

この例ではタイプはEvent型、Place型、PostalAddress型が使われています。そしてプロパティはname属性、addressLocality属性、postalCode属性が使われています。

タイプ毎にどのプロパティを使えるのか決まっているので、使いたいプロパティを持つタイプを使うようにしましょう。 Schema.orgのタイプは入れ子で定義されているので下位のタイプは上位のタイプのプロパティを使用できます。 例えばEvent型はThing型を引き継いでいるのでname属性を使用できます。

プロパティの値・型の種類

プロパティ毎に設定できる値の種類(タイプ)は決められています。タイプには通常の"構造タイプ"の他に、"データタイプ"、"列挙タイプ"の計3種類があります。

1.構造タイプ

オブジェクトのような入れ子の設定になります。
例)address属性の値はPostalAddress型(構造タイプ)と決まっている

{
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "東京",
    "postalCode": "100-0001"
  }
}

2.データタイプ

Text型やBoolean型などの一つで終わります。サイトでは[Text(D)]と表記しています
例)name属性の値はText型(データタイプ)と決まっている

{
  "name": "東京テックカンファレンス",
  "name": ["東京テックカンファレンス", "大阪テックカンファレンス"],
}

3.列挙タイプ

指定の選択肢から設定します。EDEG型などの列挙タイプは列挙メンバーが規定されています。当サイトでは列挙タイプは[XXX(E)]、列挙メンバーは[XXX(EM)]で表記しています。
例)sizeSystemプロパティはの値はSizeSystemEnumeration型(列挙タイプ)と決まっている

{
  "sizeSystem": "https://schema.org/WearableSizeSystemUS",
}