投稿

2月, 2022の投稿を表示しています

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)』の紹介です。 Semantic Web for the Working Ontologist: Effective Modeling for Linked Data, RDFS, and OWL (ACM Books) (English Edition) (Amazonで書籍情報を表示) OWL や RDF などのセマンティックWeb系の技術は、業務アプリの設計とは無縁のように思われそうですが、設計あるいはモデリングの観点から見ると、本質的なところは同じような気がしています。 特に、OWL や RDF は、プログラミング言語のような処理を記述するものではなく、知識(データ)を記述するものなので、リレーショナルデータベースを中心としたデータ設計あるいはモデリングを考えるときなど、ヒントも多くて、とても刺激的な内容だと思います。 (推論を含めると、データの表現だけでなく、処理も含んでいると思いますけど。) <本の内容> 『Semantic Web for the Working Ontologist』は、版を重ねて最新版は第3版です。 初版から10年以上たっても本の改訂が続いているということだけでも凄さが分かります。 ここでは、初版から目次(内容)をみながら、セマンティックWeb技術の着実な(急激ではない?)進化を見てみます。 実践セマンティックWeb―RDF/RDFS/OWLによるオントロジー設計ガイド Dean Allemang (原著), James Hendler (原著),萩野 達也 (監修), セマンティックWeb委員会 (翻訳) 初版(日本語版:発

Pythonでオントロジー指向プログラミング(Ontologies with Python: Programming OWL 2.0 Ontologies with Python and Owlready2)

Ontologies with Python: Programming OWL 2.0 Ontologies with Python and Owlready2 (English Edition) Lamy Jean-Baptiste (著) Ontologies with Python: Programming OWL 2.0 Ontologies with Python and Owlready2 (Amazonで書籍情報を表示) 最近楽しみながら読んだ本のご紹介です。 オントロジーやOWL(Web Ontology Language)、セマンティックウェブといった単語は、知っている人は詳しく知っていると思いますが、ご存知ない方も多い気がします。 これらについては長くなるので割愛しますが、ネットでこれらの用語を検索して調べてみると、学術分野っぽい説明などが多くて、縁遠い印象を受けるかもしれません。 しかしながら、データの表現力を高めて応用するための技術だと考えれば、一般的なアプリ制作においても、(はまれば)とても身近で役立つ価値の高い技術だと思っています。 仮にオントロジーだとか知識表現に全く興味が無くても、プログラミングの引き出しを増やすというだけでも意味があると思います。 この本は、そんなオントロジーやOWLの扱い方を、Python のライブラリ Owlready2 を用いてハンズオンっぽく身に付けることができます。 残念ながら英語の本ですが(現在日本語訳はないと思いますが)、私でも理解できる程度の平易な文章で書かれており、それもあってか Google 翻訳を利用すれば、かなり良い日本語に翻訳してくれますので(笑)、英語の壁は高くありません。 (実際には、本文が理解できなくても、コード例を見れば理解できることが多いと思います。) <本の内容> 以下は目次とざっくりとした内容です。 Chapter 1: Introduction ontology-oriented programming(オントロジー指向プログラミング)への動機付けなどの紹介です。 Chapter 2: The Python language: Adapt a snake! Python 言語のざっくりとした説明です。 Chapter