RDF, OWLの面白さを知る本(Semantic Web for the Working Ontologist)

前の記事『Pythonでオントロジー指向プログラミング(Ontologies with Python: Programming OWL 2.0 Ontologies with Python and Owlready2)』では、Python と Owlready 2 を使った、OWL を扱うプログラミング本を紹介しました。

今回は、OWL などを使ったプログラミングの前に、そもそも RDF や OWL のモデルをどのように構築すべきか、という設計に関するヒントが詰まった本『実践セマンティックWeb(Semantic Web for the Working Ontologist)』の紹介です。



OWL や RDF などのセマンティックWeb系の技術は、業務アプリの設計とは無縁のように思われそうですが、設計あるいはモデリングの観点から見ると、本質的なところは同じような気がしています。

特に、OWL や RDF は、プログラミング言語のような処理を記述するものではなく、知識(データ)を記述するものなので、リレーショナルデータベースを中心としたデータ設計あるいはモデリングを考えるときなど、ヒントも多くて、とても刺激的な内容だと思います。
(推論を含めると、データの表現だけでなく、処理も含んでいると思いますけど。)

<本の内容>

『Semantic Web for the Working Ontologist』は、版を重ねて最新版は第3版です。

初版から10年以上たっても本の改訂が続いているということだけでも凄さが分かります。

ここでは、初版から目次(内容)をみながら、セマンティックWeb技術の着実な(急激ではない?)進化を見てみます。

実践セマンティックWeb―RDF/RDFS/OWLによるオントロジー設計ガイド

  • Dean Allemang (原著), James Hendler (原著),萩野 達也 (監修), セマンティックWeb委員会 (翻訳)
  • 初版(日本語版:発売日:2010/3/1、英語版:2008/4/25)



目次
  • 第1章 セマンティックWebとは何か
  • 第2章 セマンティック・モデル構築
  • 第3章 RDF-セマンティックWebの基盤
  • 第4章 セマンティックWebアプリケーションのアーキテクチャ
  • 第5章 RDFと推論
  • 第6章 RDFスキーマ
  • 第7章 RDF-Plus
  • 第8章 RDF-Plusの利用例
  • 第9章 OWLの基本
  • 第10章 OWLにおける集合と個数制約
  • 第11章 OWLの利用例
  • 第12章 モデル構築の良い例、悪い例
  • 第13章 OWLのレベルと論理
  • 第14章 まとめ
  • 付録
  • 特別増補
    • A-1.程度表現オントロジー(DEX)
    • A-2.ライセンスオントロジー
    • A-3.情報家電オントロジー

初版以外は日本語版が無いと思いますが、RDFやOWLなどのエッセンスは初版にも詰まっているので、日本語で読めるという点を合わせて、今でも(私にとっては)価値が高いです。

また、日本語版には特別増補として、日本国内で独自に開発されたオントロジーの紹介と解説があります。


Semantic Web for the Working Ontologist: Effective Modeling in RDFS and OWL

  • Dean Allemang (著), James Hendler(著)
  • 第2版(英語版:発売日 :2011/5/20)



目次
  • Chapter 1 What is the Semantic Web?
  • Chapter 2 Semantic modeling
  • Chapter 3 RDF - The basis of the Semantic Web
  • Chapter 4 Semantic Web application architecture
  • Chapter 5 Querying the Semantic Web - SPARQL
  • Chapter 6 RDF and inferencing
  • Chapter 7 RDF schema
  • Chapter 8 RDFS-Plus
  • Chapter 9 Using RDFS-Plus in the wild
  • Chapter 10 SKOS - managing vocabularies with RDF-Plus
  • Chapter 11 Basic OWL
  • Chapter 12 Counting and sets in OWL
  • Chapter 13 Ontologies on the Web - putting it all together
  • Chapter 14 Good and bad modeling practices
  • Chapter 15 Expert modeling in OWL
  • Chapter 16 Conclusions

目次だけ見ると大きな変化はないように見えますが、(細かいところは別として)私には大きく2つの変化が感じられました。

一つは、発刊当時勧告になったばかりの SPARQL が大きく取り上げられている点です。

初版の特徴の一つはRDFSやOWLのプロパティの意味を、言葉だけではなく、トリプルの推論規則として説明してくれているところでした。これは非常に分かりやすく、説得力がありました。第2版では、説明の多くに SPARQL が使われています。

これは、規則(動作原理)の理解と SPARQL の理解が同時に得られるという点で、一石二鳥だと思います。

もう一つ、Data.gov や Facebook の OGP(Open Graph Protocol )、Good Relations、QUDT、OBO など、実例が増えています。


Semantic Web for the Working Ontologist: Effective Modeling for Linked Data, RDFS, and OWL

  • James Hendler (著), Fabien Gandon (著), Dean Allemang (著)
  • 最新の第3版(英語版:発売日:2020/8/3)


目次
  • Chapter 1 What is the Semantic Web?
  • Chapter 2 Semantic modeling
  • Chapter 3 RDF - The basis of the Semantic Web
  • Chapter 4 Semantic Web Application Architecture
  • Chapter 5 Linked Data
  • Chapter 6 Querying the Semantic Web - SPARQL
  • Chapter 7 Extending RDF:RDFS and SCHACL
  • Chapter 8 RDF schema
  • Chapter 9 RDFS-Plus
  • Chapter 10 Using RDFS-Plus in the wild
  • Chapter 11 SKOS - Managing Vocabularies with RDF-Plus
  • Chapter 12 Basic OWL
  • Chapter 13 Counting and Sets in OWL
  • Chapter 14 Ontologies on the Web - Putting it all together
  • Chapter 15 Good and Bad Modeling Practices
  • Chapter 16 Expert Modeling in OWL
  • Chapter 17 Conclusions and Future Work

まず第3版で目を引いたのは、第2版までのサブタイトルが「Effective Modeling in RDFS and OWL」だったのに対し、第3版では「Effective Modeling for Linked Data, RDFS, and OWL」となっていることです。(Linked Data が追加されています)

サブタイトルにある通り、Linked Data が新たな章として追加されています。

また、第2版まであった「RDF and inferencing」の章が「Extending RDF:RDFS and SCHACL」に変わっています。これは内容が削除されたのではなく、従来のRDFと推論の説明に加えて、SCHACLの解説が加わった感じです。

さらに、実例に、Schema.org、FIBO などが追加されています。

加えて、章のタイトルだでは分かり難いですが、各章かなり最近の状況を織り交ぜて追記されており、改訂版が出る理由が分かりました。

最後に、本のWebサイトもありました。

<感想>

私は初版(日本語版)から「Semantic Web for the Working Ontologist」のファンです(笑)。

もう10年以上前になりますが、セマンティックウェブに興味を持ち始めて書籍やネットの情報を探し始めていた頃、RDFやOWLの形式的な説明しか見つけられず、興味と自分なりの応用がなかなか結びつかない状態でした。

そんなときに出会ったのが初版(日本語版)の『実践セマンティックWeb』です。

「著者まえがき」に以下のようなくだりがあります。
  • 学習者が自ら取り組める教材であり、疑問点を調べられるもの。これこそがセマンティックWebのモデル構築を扱う本書の着想のポイントです。
  • セマンティックWebでドメインモデルを創造しようとしている「オントロジーを構築する技術者」に焦点を合わせました。

まさに、当時私が求めていたものでした。

さらに、「構成要素の意味を、それから得られる推論で定義しよう」といった流れで、例えば、プロパティなどを言葉だけで直観的に理解するのではなく、シンプルな推論規則として示してくれることで、プロパティの意味を形式的に理解することができます。

そして、RDFSやOWLにはクラスやプロパティという概念が登場しますが、混同しやすいオブジェクト指向プログラミングにおけるクラスやプロパティとの違いを細かく説明してくれています。

但し、モデリングに焦点を当てて書かれているため、実装するための具体的なライブラリやProtégéのようなツールについては言及されていません。(著者まえがきにも書いてますけど。)

ところで、私は学者ではなく、業務システム構築に携わるものなので、もともとセマンティックWebが目指す壮大な?ビジョンに共感してセマンティックWebに興味を持ったわけではありません。

実際、これまでの仕事においても、セマンティックWeb技術を直接利用できる機会はほとんどありませんでした。

一方で、間接的にはセマンティックWebを知ることで、自分の設計が大きく変わったと思っています。

例えば、セマンティックWebの特徴として、データの統合や推論があります。

Web上のデータ統合と大きく考えなくても、業務システムでもシステム間のデータ統合などは普通にあり、良いヒントが得られます。(仕事より、むしろ私個人が持っている情報の方が統合したい欲求は大きいのですが。。。)

また、RDBでは表現が難しいようなデータを扱うときにも多くのヒントを得ることができました。

何より、(データ中心というより)、思考がプロパティファーストに変わったように感じる時があります。

例えば、RDBのテーブル設計する時に、まずプロパティ(フィールドにあたる)の意味を考えて、そのドメインとレンジをテーブルにまとめていくことで、テーブル構造の素案を作ったりすることもあります。


さて、今は技術面の進歩や自分の仕事環境も変わってきて、ナレッジグラフだとかセマンティックWeb系の技術の応用を考えてみると面白そうだな、と思っています。

そんな中で前の記事に書いた Owlready 2 に触れたわけですが、これに触発されて「Semantic Web for the Working Ontologist」を読み返しました。

ついでに改定版はあるかな?と探してみると、第3版が出てました!

早速購入して読みましたので(まだ改定部分の全てを読んだわけではありませんが)、やっぱり面白かったので、本ブログで取り上げました。

関連記事

コメント

このブログの人気の投稿

Google Document AIで画像から表形式データを抽出する(Vision API OCRとの違い)

VirtualBoxのスナップショット機能

Ubuntu/Colab環境でPDFファイルのページを画像化する(pdf2image、pdftoppm、pdftocairo)