Kuwataさんがデイヴィッド・スピヴァックのologについてちょと書いています。
Spivakの他の論文などでもRDFなどのKnowledge Representationとの関連性が示唆されていたが、ologはOntology Logという名前の通り、完全にそっち方面。(olog自体はCategory Theory for Scientistsにも10ページ程のセクションが設けられている。) そして当たり前といえばそうだが、圏論を使っている。まあ、この辺の詳しい話は檜山さんがそのうちやるだろう。
そのうちやるかもしれませんが、今日はあんまりやりません。「ologってなに?」って方には、Wikipediaに短い解説があります。このWikipedia項目だけ読んでもよく分かりませんが、リンクがあるのでたどって調べることができます。
それにしても、デイヴィッド・スピヴァックはほんとうにアイデアマンだなー、と関心します。関手データモデルにしろologにしろ、圏論を使っているとはいえ、どんな教科書にも載っている範囲の知識です。スピヴァックは、簡単な道具をうまく組み合わせて目覚ましい成果を挙げます。
例え話で言うならば、ハイテク機器を駆使するわけじゃーないけど、誰もが困っていて半ば諦めている問題を、日曜大工道具で見事に解決してしまう、スピヴァックはそんな人でしょうか。
おおよそ「olog = schema = 圏」と考えていいのですが、ologと関手データモデルのスキーマの違いは、ologの対象と射(正確に言えば、圏の生成系となる対象と射)に自然言語による説明テキストが付いていることです。自然言語は曖昧であてにならないものですが、規約を設けることによって知識表現の良いヒントになるように工夫されています。英語だからうまくいっている部分もあるので、ologの“日本語化”“国際化”は面白い課題かもしれません。
それと、ologは一種の著作物なので著者(author)がいるのです。人が自然言語も利用して書くものなので、文体とか作風とかも出てくるでしょう。「このologは××節バリバリだね」とか「あのologは、いつもの彼らしくないね」とか評されたりして。ologは形式的には圏なので、圏に著者の個性が反映するところが面白いですね。その個性が処理の邪魔にならないか? って -- だから関手(ologのあいだの対応)を使うのです!
スライド Databases are Categories II Refinements and Extensions の後半にologの話が出てきます。最後から2枚目のスライド Dreams and speculation (私の夢と思索)に:
"It's all categories and functors!" --
I hope people see category theory as a unified modeling language for information storage, processing, and transfer.
「すべては圏と関手だ!」 --
皆さんが圏論を、情報の記録、処理、転送のための統一モデリング言語だと理解してくれることを私は希望してます。
スピヴァックは本気でそう願っているのでしょう。ologも関手スキーマも、多くの人が使えるように気を使っています。極東のしがないIT屋ジイサンも、この青年のDreams実現に協力したい気になります。