Schema.org の語彙で RDFS 推論してみる(1):準備
本記事ではWebから得られる現実の簡単なデータを例に、ツールを使って SemanticWeb 技術(特に情報統合や推論)を概観します。 【目次】 [1]はじめに [2]Webから取得したJSON-LDをRDFLibで利用する (1)RDFLibへ読み込むコードの準備 (2)実行して結果を可視化してみる (3)SPARQLを使った検索例 [3]ここまでのまとめ:推論に向けて [1]はじめに 以前の記事で、Webページに埋め込まれたJSON-LDファイルをRDFLibに読み込むところまで見ました。 しかし JSON-LD は、「そもそも扱いやすいJSON形式なのだから、JSONとして扱えば十分じゃない?」といわれれば、(特定の構造を扱うだけなら、)それはその通りです。 一方で、多くのWebサイトから情報を収集して、様々な再利用を考えるなら(多様なデータを扱うなら)、その考え方はかなり面倒なことも背負うことになります。 具体的には、Schema.org の語彙を使ってマークアップされた JSON-LD を扱うとしても、本記事の執筆時点で、Schema.org のサイトによると797のクラス、1453のプロパティが定義されているようです。 Wikipediaやブログの記事だけではなく、レストランや観光地の情報、イベントや求人その他、多様な情報が Web にはあふれています。 そして時代に応じて Schema.org の語彙は増えていきますし、それに伴って多様性も増していきます。 しかも、Web コンテンツに含まれる JSON-LD に記載される内容は、Web コンテンツ制作側が決めるものなので、開発側がコントロールできるものではありません。 こうなってくると、与えられた情報構造を直接解釈する方式で対応するのは厳しいと思います。(厳密なスキーマに基づく手法は厳しくなってくると思います。) これに対して、与えられた情報構造をそのまま扱うのではなく、もう少しメタレベルの構造を基礎として多様な情報に対応していくアプローチが考えられます。 そのような技術に SemanticWeb があります。 Wikipedia: セマンティック・ウェブ SemanticWeb 技術も『銀の弾』ではないと思いますが、シナリオによっては非常に有効な技...