これまでのところでは,rdf:typeとかrdf:Propertyといった言葉は出てきていませんでした.プレフィックスとしてrdfがついている語彙はrdf語彙と呼ばれますが,3章で初めて出てきます.でもここではrdf:typeとrdf:Propertyについてあまり本格的な説明はなされませんね.RDF意味論的条件の1番目,
もし <x, I(というのはプロパティのrdf:typeはrdf:Propertyと言っているのですから,あたりまえのことで,そして3章ではこれしかrdf:Propertyについては述べていません.rdf:Property)> ∈ IEXT(I(rdf:type)) ならば,
そしてその時に限り,x ∈ IP
IP が IR の部分集合であるというのは,(後ででてきますが)すべてのプロパティは rdfs:Resource のインスタンスであるということですが,3章ではまだそれは言っていません.1章で述べられたように IR というのはすべてのエンティティを含むユニバースのことで,そのなかにはプロパティの(表示物の)集合 IP と型付きリテラル(の値)集合 IL とリテラル値(そのもの)の集合 LV が含まれる,ということです.3章では,むしろrdf:XMLLiteralについて,すなわち IL について多く述べています.
1章で解説を省いてしまいましたが,IEXTというのはプロパティ外延写像と呼ばれ,IR 中の任意の二つのエンティティを取り出してペア <I(s), I(o)> を作ったとき,IEXT(I(p))というのはプロパティ p に関する三つ組み <s p o> が成り立つ集合のことを言います.ここで表示するもの x について表示されるものを I(x) と表記しています.ちょっと蛇足ですが,
rdf:type rdf:type rdf:Property .という三つ組みがあったとき,サブジェクトとしての rdf:type と プレディケイトとしての rdf:type を区別して,サブジェクトとしての rdf:type の表示物は I(rdf:type) ∈ IR ですが,意味論的条件の1番目から <I(rdf:type), I(rdf:Property)> ∈ IEXT(I(rdf:type)) だから I(rdf:type) ∈ IP となり,IP ⊆ IR だから問題なくて,逆に I(rdf:type) ∈ IP ならばこの三つ組みは成立して真となります.
RDF意味論的条件の2番目は "1"^^xsd:integer の値 IL("1"^^xsd:integer) は LV の元であって,その rdf:type は rdf:XMLLiteral であるということですね.
RDF意味論的条件の3番目は "one"^^xsd:integer の値 IL("one"^^xsd:integer) は LV の元でもなく,その rdf:type は rdf:XMLLiteral ではないということですね.この場合ill-formedな表記が表示するところのものは,何かあるとしているのでしょうか.この意味論的条件の証明のところでは,
ill-typed なXMLリテラルは RH 中ではそれ自体を表示し,それゆえ構成すると LVRH からは排除される.としていますね.ウーム,そうか,文法エラーではじいてはいけないんだ.SWCLOS ではどうなっていたかな.ひょっとしたら,修正が必要かも.
Reification というのは意味も訳語も難しいですね.一応ここでは Russel&Norvig の訳に倣って「具体化」としましたが,インスタンシエーションとは違いますよね.(本当はもっと的確な訳語が,「伴意」みたいなものが,ほしいと思っています.)どうも解釈の逆の要素があるみたいです.伴意の図7.6 を見ていただきたいのですが,テキストの空間,字句空間から意味の空間へ行くのが解釈ならば,reification とはその逆の要素があります.ですからある三つ組み <ex:a> <ex:b> <ex:c> . があったときに,意味空間からそのテキストのことを言及したい(と言ってもそれもやはりテキスト表現するしかないわけですから),それでこう書く.
_:xxx rdf:type rdf:Statement .
_:xxx rdf:subject <ex:a> .
_:xxx rdf:predicate <ex:b> .
_:xxx rdf:object <ex:c> .私はreificationをまだ本格的には使っていませんが,これが使われるようになるとオントロジーもやっと成熟して一人前というような気がしています.おまえの言うことはああだこうだと言う,ここで言っていることはこことここからこう来ているよ,この知識はどこそこからもたらされました,などという知識がいっぱい増えると(メタ知識),今のページランクみたいに知識ランクをつけることができるようになって,オントロジーがやっと信頼できるようになる.あと,rdf:value もほとんど無視されていますが,私はこれも重要と思っています.大体アノテーションとして xsd:string とか xsd:integer というのは意味を成しません.ですからサービス記述するときでも,関数の引数のタイプを指定するときでも,こういうプログラムレベルでの型ではなくて,意味のレベルでの型をつけなければいけません.例えば価格,温度,長さ.そうするとそこには単位と値が基本的に必要となり,値はデフォールトでは rdf:value がいい.RDF意味論では
プロパティのうちの第1のあるいは主要な値を指定するために用いられる.としていますが,別にその値とは数値には限られませんね.
さて,第4章はいよいよrdfs語彙になります.やっとクラス・インスタンスと定義域・値域の話がでてきて,RDF意味論の中心的な章となります.
0 コメント:
コメントを投稿