構造化データ 【structured data】
概要
構造化データ(structured data)とは、項目の形式や順序など、明確に定義された構造に従って記述、配置されたデータ集合のこと。プログラムによって自動処理するために用いられることが多い。リレーショナルデータベースのテーブルやCSVファイルのように、一件のレコードの構成、各項目のデータ型や形式、項目の並び順、項目やレコードの区切り文字などが事前に決まっており、同じ構成のレコードの繰り返しとしてデータを列挙したものを指すことが多い。
ソフトウェアによって容易に読み込んで内容を認識させることができ、大量のデータを集計したり分析するのに適している。人間がそのまま眺めて読みやすい形式とは限らず、ソフトウェアによって抽出や集計を行ったり、見やすいよう整形したり、レポートなど別の形式へ変換してから人間に供されることが多い。
一方、Webページや電子メール等のメッセージ、ワープロソフトやプレゼンテーションソフトなどで作成した(見栄え重視の)文書ファイル、画像や音声、動画などのメディアデータといった、決まった形式や配置に従ってデータが並んでいるわけではない不定形なデータ群のことを「非構造化データ」(unstructured data)という。
Webページの構造化データ
WebページのHTMLコードは、Webブラウザにその文書の構造やレイアウトを伝達するという意味では構造化されているが、書かれている情報をサイト横断的に同じ形式に従って自動収集・処理できるような構造にはなっていない。
そこで、ソフトウェアが自動処理しやすいようページ内に書かれている内容を特定の規約に則って構造化データとして記述する手法が提唱されている。同じ情報を人間向けと機械向けに同じページに埋め込んでおき、ブラウザは人間向けのデータを表示し、Webロボットなどの自動処理プログラムは機械向けのデータを収集する。
様々な手法が提唱されているが、現在有力な方式はHTMLのヘッダ領域などにJSON-LD形式でスクリプトの形で情報を埋め込む手法で、Schema.orgという業界団体が情報の種類ごとにデータの記述形式(スキーマ)の標準を提案している。
例えば、ある行事の開催案内のWebページに、Schema.orgの定義する「Event」(行事)のスキーマで構造化データを埋め込むことで、巡回してきたロボットに行事名や主催、出演者、開催日時などを伝達することができる。