<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-285889296997674269</id><updated>2009-09-26T03:26:50.922+09:00</updated><title type='text'>セマンティックウェブログ</title><subtitle type='html'>　「RDF意味論」の和訳を国立情報学研究所の私の&lt;a href="http://www-kasm.nii.ac.jp/~koide/RDFSemantics-J.htm"&gt;ホームページにアップ&lt;/a&gt;しましたが，日本語で読んでもやっぱり難しいという方もきっといらっしゃると思い，和訳した「RDF意味論」を読むための連載記事をここに書きました．コメント，質問などを歓迎いたします．</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://seijikoide.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/285889296997674269/posts/default'/><link rel='alternate' type='text/html' href='http://seijikoide.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>小出 誠二</name><uri>http://www.blogger.com/profile/02327899241505211617</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-285889296997674269.post-6015053783608590670</id><published>2008-12-27T08:04:00.004+09:00</published><updated>2008-12-27T08:30:09.288+09:00</updated><title type='text'>「RDF意味論」を読むために　終わりにあたって</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;br /&gt;ここまで読んで下さって，どうもありがとうございました．&lt;br /&gt;&lt;br /&gt;最初に意図したほど多くを書くことができませんでしたが，ある方がご自分のブログで紹介してくださったおかげで，何とキーワード「RDF意味論」で連続何週間も Google 検索トップ１０以上を関連ページが占めるということになりました．この場を借りてお礼を申し上げます．&lt;br /&gt;&lt;br /&gt;RDF意味論の和訳がなくて，自分自身苦労したことが動機となって，こうしたことをやったのですが，これをきっかけに普段RDFを使っている人たちも何か疑問を持ったおりに，参考となればと思っています．&lt;br /&gt;&lt;br /&gt;最初に０章にて，&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;人にとってのなんちゃらなどとは一切考えずに，・・・語彙と語彙との関係を・・・数学的に考えます &lt;/blockquote&gt;と書きましたが，実はそれこそが生きるうえでの意味(meanings)に重なるとここでは主張したい．我々は単独でこの世の中に存在できません．すべて他者との関係の中にある．色即是空とはどうもそういうことらしいです．実体などというものは，あたかもらっきょの皮むきのように，探っていくと何もなくて，すべては関係性にあると．そういう仏教的な立場に立つと，オントロジー研究やRDF意味論も一層の輝きを増してくるように思えます．&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/285889296997674269-6015053783608590670?l=seijikoide.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seijikoide.blogspot.com/feeds/6015053783608590670/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=285889296997674269&amp;postID=6015053783608590670' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/285889296997674269/posts/default/6015053783608590670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/285889296997674269/posts/default/6015053783608590670'/><link rel='alternate' type='text/html' href='http://seijikoide.blogspot.com/2008/12/rdf_2589.html' title='「RDF意味論」を読むために　終わりにあたって'/><author><name>小出 誠二</name><uri>http://www.blogger.com/profile/02327899241505211617</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14296213581156734800'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-285889296997674269.post-5525897613676822043</id><published>2008-12-27T04:44:00.007+09:00</published><updated>2009-01-30T23:16:12.402+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RDF意味論 伴意ルール'/><title type='text'>「RDF意味論」を読むために　第７章</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;括弧情報提供とあるように，第７章は規範ではありません．しかし実用上最も重要な章であり，これまでの記述でわからないところがあったとしても，あまり気にせずに，実装上はこの章の伴意ルールのみを真剣に取り扱えばOKです．&lt;br /&gt;&lt;br /&gt;条件（トリプル）の一つ一つをクロージャという方もいらっしゃいますが，ここでの書き方は，左側のトリプルがグラフ上で見つかったら，右側のトリプルをグラフに追加してよいという書き方です．実際に追加するかわりに，クエリに対して推論エンジンにこれらのルールを組み込んでもいいですね．前にも書いたように，（書いてないか？），DL でやることはあるインスタンスがあるクラスに所属するかという質問と，あるクラスはあるクラスのサブクラスかという質問に答えることだけですから．&lt;br /&gt;&lt;br /&gt;２＋２＋２＋１３＋９＝２８ですから，全部で２８個のルールがあります．OWLになるとこれに加えて一体いくつの伴意ルールがあるのか完全にはわかっていません．RDF(S)では一応これで完全としてもよさそうに思えます．ドイツの ter Horst という研究者は，意味論ではプロパティはブランクノードでもよいのに，統語論では駄目とされているからと，プロパティにブランクノードを許した場合の伴意ルールについて論文を書いていますが，私としてはそんなの関係ないと思います．SWCLOS ではトリプルのプレディケイトは CLOS のスロット名になりますから，ブランクノードではありえないからです．&lt;br /&gt;&lt;br /&gt;全部の伴意ルールについて詳しく解説することはあまりにも量が多くなりますので，重要なものや微妙なもののみにとどめさせていただきます．&lt;br /&gt;&lt;br /&gt;se1, se2 はあまり使いどころはないですね．余談になりますが，Jeremy Carroll は一見おかまみたいな人で Jena の開発者ですが，今はアメリカにわたって Top Quadrant に参加しています．&lt;br /&gt;&lt;br /&gt;rdf1 は rdfs4a, rdfs4b と並んで非常に有用です．前にも書いたように，初めて現れたURLを即座にrdfs:Resource のインスタンスとか rdf:Property のインスタンスとして定義することができます．&lt;br /&gt;&lt;br /&gt;rdfs2 は定義域の伴意ルール，rdfs3 は値域の伴意ルールです．rdfs5 は rdfs:subPropertyOf に関する推移律，rdfs11 は rdfs:subClassOf に関する推移律です．rdfs6 は プロパティの，rdfs10 はクラスの自明な性質ですね．&lt;br /&gt;&lt;br /&gt;rdfs8 は自明でかつ非常に重要な性質です．すべてのクラスは rdfs:Resource のサブクラスとなります．&lt;br /&gt;&lt;br /&gt;rdfs7 がサブプロパティに関する重要なルールです．つまりスーパプロパティで言えた事実は，すべてサブプロパティでも真となる．ですが，あまりよい例を思いつきません．&lt;br /&gt;&lt;br /&gt;rdfs9 は包摂律と呼ばれる非常に重要な性質です．たとえば，「イヌ」が「哺乳類」のサブクラスで buddy が「イヌ」のインスタンスなら，だれかさんの飼っているイヌ buddy は「哺乳類」のインスタンスです．これ，クラスの外延的概念そのものと言っていいですよね．この包摂律とさきほどの推移律を組み合わせると，すべてのインスタンスは rdfs:Resource のインスタンスということが導かれます．&lt;br /&gt;&lt;br /&gt;包摂律が分かれば，ext1 と ext2 はまあ自明ですよね．あまり有用ではありませんが．&lt;br /&gt;&lt;br /&gt;ext3 と ext4 はサブプロパティに関する継承（インヘリタンス）に相当するものですね．たとえば，vin:hasColor は vin:hasWineDescriptor のサブプロパティで，vin:hasWineDescriptor の定義域は vin:Wine だとしたら，トリプルとして&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;Strainge vin:hasColor vin:Red . &lt;/blockquote&gt;&lt;p&gt;などとあったら，Strainge は vin:Wine のインスタンスだと分かります．&lt;br /&gt;どうもオブジェクト指向のインヘリタンスに相当するものは RDF ではこの二つしかないようです．ではどうするかというとOWL では rdfs:subClassOf の owl:Restriction ということで継承したい性質を記述するのですね．これはまた別の議論になりますが．&lt;br /&gt;&lt;br /&gt;ext5 - ext9 は今まで rdfs:Resource がトップクラスとしてきて，これより上位のクラスはないと思っていたのにいきなりその上位クラスを持ってきて，ちょっと唐突です．rdf:type や rdfs:subClassOf のスーパプロパティを導入しなければ，まあここの記述は関係ないので気にしないとしてもOKですが，逆にすでに rdf:type や rdfs:subClassOf の性質を持つ処理系があれば，その処理系が処理できるユニバースのサブユニバースとして RDF(S) ユニバースを設定できることになりますね． &lt;br /&gt;&lt;br /&gt;rdfD2 は "+0001"^^xsd:integer をサブジェクトに持つトリプルがあったら，"1"^^xsd:integer のトリプルを追加してもよいという意味ですね．（逆もOK）．&lt;br /&gt;&lt;br /&gt;rdfD3 は "+0001"^^xsd:decimal と "1"^^xsd:integer とか，"1"^^xsd:nonNegativeInteger みたいな話ですね．&lt;br /&gt;&lt;br /&gt;以上で７章の説明を終えますが，最後に &lt;a href="http://www-kasm.nii.ac.jp/~koide/SWCLOS/Manual/RDFSchema.html"&gt;RDF(S) エンティティの関係図&lt;/a&gt;を示しておきます．&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/285889296997674269-5525897613676822043?l=seijikoide.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seijikoide.blogspot.com/feeds/5525897613676822043/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=285889296997674269&amp;postID=5525897613676822043' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/285889296997674269/posts/default/5525897613676822043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/285889296997674269/posts/default/5525897613676822043'/><link rel='alternate' type='text/html' href='http://seijikoide.blogspot.com/2008/12/rdf_27.html' title='「RDF意味論」を読むために　第７章'/><author><name>小出 誠二</name><uri>http://www.blogger.com/profile/02327899241505211617</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14296213581156734800'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-285889296997674269.post-1408082901637817067</id><published>2008-12-21T08:40:00.023+09:00</published><updated>2009-02-05T22:09:30.968+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RDF意味論 伴意 単調性　'/><title type='text'>「RDF意味論」を読むために　第６章</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;br /&gt;第２章でも述べられたように，伴意は推論の単調性と深いかかわりを持っています．第２章では次のように書かれていました．&lt;blockquote&gt;&lt;strong&gt;単調性レンマ&lt;/strong&gt;． S を S' のある部分グラフとして，S は E を伴意するとすると，そのとき S' は E を伴意する．&lt;/blockquote&gt;すみません．ここ訳文では思いっきり間違えていました．正しくはこのとおりです．これをあまり厳密ではありませんが数学的にはこう書きます． S &amp;sube; S' で S &amp;#8872 E ならば S' &amp;#8872 E でもある．&lt;br /&gt;&lt;br /&gt;あるRDFグラフがあったとして（これが S ），それにトリプルを追加しました（結果が S' ）．そのとき元のRDFグラフ S で成立していた解釈は増えたRDFグラフ S' でも成立しなければなりません．いいかえると，いろんな解釈がありえてアバウトなものだったものが，知識の追加によってより詳細化・精密化されるけれども，そのときアバウトな知識で言えてたことがくつがえってはならない．これは知識の単調増加原則といって，世界がそうなっているということではなくて，RDFで書くと自然とそうなるという意味でもなくて，推論の都合上の知識に対する要請事項です．たいていの推論システムにおいて置かれている原則なのですが，RDF意味論でもそうしているということですね．&lt;br /&gt;&lt;br /&gt;RDF意味論での話の展開そのものにおいても，またRDFからOWLへの拡張においても，単純なものから複雑なものへ，少ない語彙から語彙を追加し，語彙にかかわる公理を追加し，豊富な語彙と複雑な推論に発展していきますが，解釈の可能性は（ここで解釈というのは変数をインスタンス化したときの組み合わせの数みたいなものですよ）ほとんど無限大に近いものからより少ないものに変化していきます．あまり厳密な言い方ではありませんが，テキストとしての S ⊆ S' は解釈世界としての I(S) ⊇ I(S') であり，RDF から OWL へは S から S' なのです．だから本当は，RDFで言えてたことはすべてOWLでも言えなければなりませんが，少なくともメタクラスについては OWL Lite と OWL DL ではそうなっていません．&lt;br /&gt;&lt;br /&gt;この語彙拡張によって可能世界は狭められるけれどもより強力になり精緻になる，というのが，拡張という言葉のイメージと合わず，感覚的には受け入れがたいのかも知れませんが，混沌としてなんでもあり，から秩序だった強力な世界へ，１というだけで10を知ることができるような世界になると思ってほしいのです．&lt;br /&gt;&lt;br /&gt;で，この６章で言っていることは，ほとんど２章で言っていることと同じですよね．語彙とその公理を Y として追加したとき，S' はもともと言えてたことを言えなければならない．だからもともとの語彙での伴意をX-伴意としたとき，S' においても X-伴意はあらねばならず，追加の語彙に関する追加の伴意を Y-伴意と呼ぶわけです．&lt;blockquote&gt;&lt;strong&gt;一般単調性レンマ&lt;/strong&gt;. S と S' を S のすべてのメンバーが S' のいずれかのメンバーであるようなRDFグラフの集合であるとする．Y は X の意味論的拡張を表し，S は E を X-伴意して， S と E は Y のいかなる統語論的制約も充足するものとする．そのとき，S' は E を Y-伴意する．&lt;/blockquote&gt;話は脱線しますが，人間が行う間違いとか思い込みみたいなものは，RDF意味論では扱うことはできません．一度言ったことは二度と取り消しできない．知識がくつがえることはない．でもこれは理想的であっても現実にはありえず，ずいぶんきつい条件ですよね．これを許そうというのが非単調推論とか真実維持装置（Truth Maintenance System）というもので，これはまだまだ研究段階と言っていいでしょう．蛇足ですが，従来のAI研究と比べてセマンティックウェブの最大の特徴は，その大規模さオープンさにあります．ここでオープンという意味は果てがない，限界がないという意味です．そうするとこちらのコミュニティで使っていた語彙と概念と，あちらのコミュニティで使っていた語彙と概念が別々にあって，それをどう扱ったらよいのだろうか，というのが非単調推論よりもずっとずっとセマンティックウェブの課題なのですが，それを目標としているはずだと私は思っているのですが，現実はまだまだですね．今は DOLCE とか SUMO とか Cyc の知識がお互いにどうなっているという話は聞こえてきません．やっと WordNet へのリンクがとられだしたところです．これ絶対必要なことなのですが，やっぱり大変なのでしょうね．第１に規模の問題です．これらの４つのオントロジーを自由自在にくっつけたり DIFF をとったり，マージしたりできる環境があったら，もう少し何とかなるのではと思っています．&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/285889296997674269-1408082901637817067?l=seijikoide.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seijikoide.blogspot.com/feeds/1408082901637817067/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=285889296997674269&amp;postID=1408082901637817067' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/285889296997674269/posts/default/1408082901637817067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/285889296997674269/posts/default/1408082901637817067'/><link rel='alternate' type='text/html' href='http://seijikoide.blogspot.com/2008/12/rdf_21.html' title='「RDF意味論」を読むために　第６章'/><author><name>小出 誠二</name><uri>http://www.blogger.com/profile/02327899241505211617</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14296213581156734800'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-285889296997674269.post-8684342181752736512</id><published>2008-12-19T22:33:00.033+09:00</published><updated>2009-01-28T20:37:41.220+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RDF意味論 データタイプ D-伴意'/><title type='text'>「RDF意味論」を読むために　第５章</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;br /&gt;第５章はいままでも出てきていましたが，データタイプについてです．第３章，４章の rdf:XMLLiteral です．ここで言う字句形式というのは，"15"^^xsd:decimal とか "15"^^xsd:integer みたいな文字列の並びのことで，この文字列からこの場合，数の 15 への写像を考えます．同様に &lt;a href="http://www.w3.org/TR/xmlschema-2/"&gt;XML Schema Part2: Datatypes&lt;/a&gt; に決められたとおりの well-formed な文字の並びである xsd:decimal や xsd:integer の集合から，それらの値の集合への写像が，L2V(xsd:decimal) とか L2V(xsd:integer) という写像というわけです．&lt;br /&gt;&lt;br /&gt;ではデータタイプそのものの字句についてはどうでしょうか．たとえば，URI 参照 xsd:decimal からそれが意味するところの表示への写像を考えます．それを&amp;lt;xsd:decimal, x&amp;gt;みたいに表記します．色々なデータタイプについてこの写像の集合 D を考えます．それをデータタイプ写像と呼びます．したがって，&lt;blockquote&gt;D は URI 参照からデータタイプ集合への関数とみなすことができる&lt;/blockquote&gt;次に，&lt;blockquote&gt;どのデータタイプ写像も&amp;lt;rdf:XMLLiteral, x&amp;gt;を含む&lt;/blockquote&gt;というのは&amp;lt;xsd:decimal, x&amp;gt;であれば必ず&amp;lt;rdf:XMLLiteral, x&amp;gt;となる，ということですよね．私はこれらのデータタイプは rdf:XMLLiteral のサブクラスとしています．三つ組みで書けば次のようですね．&lt;blockquote&gt;&lt;code&gt;xsd:decimal rdfs:subClassOf rdf:XMLLiteral .&lt;/code&gt;&lt;/blockquote&gt;そしてRDFSの公理トリプルでは次の記述があります．&lt;blockquote&gt;&lt;code&gt;rdf:XMLLiteral rdfs:subClassOf rdfs:Literal .&lt;/code&gt;&lt;/blockquote&gt;データタイプに対する一般的意味論条件の２番目はこうなっています．&lt;blockquote&gt;もし &amp;lt;aaa,x&amp;gt; が D の要素ならば，ICEXT(x) は x の値空間でありかつ LV の部分集合&lt;/blockquote&gt;つまり，xsd:decimal のクラス外延は xsd:decimal の値空間であると．つまり "15"^^xsd:decimal の表示するものは，xsd:decimal の値空間の（集合の）元であると．LV は第４章で rdfs:Literal の表示物のクラス外延でしたね．弱い解釈では rdfs:Literal と x との関係は何とも言えませんが，強い解釈でよければ，x は rdfs:Literal （の表示物）のサブクラスとなります．すなわち，xsd:decimal も xsd:integer も（その表示物は）rdfs:Literal（の表示物）のサブクラスとなります．そして SWCLOS ではそうしています．この処置は上記のように，xsd:decimal は rdf:XMLLiteral のサブクラスとしたことと，（そして rdf:XMLLiteral は rdfs:Literal のサブクラスだから）整合しています．&lt;br /&gt;&lt;br /&gt;そして３番目の条件，&lt;blockquote&gt;型付きリテラル "sss"^^ddd に対して，もし sss が x の字句空間中の要素ならば，IL("sss"^^ddd)=L2V(x)(sss)，さもなければ IL("sss"^^ddd) が LV の要素ではない&lt;/blockquote&gt;というのは，これまでも述べてきたように，"one"^^xsd:decimal は IR 中にはあっても LV 中には無い，すなわち rdfs:Resource のインスタンスであっても rdfs:Literal のインスタンスではない，ということですね．&lt;br /&gt;&lt;br /&gt;４番目，&lt;blockquote&gt;もし&amp;ltaaa, x&amp;gtが D の要素ならば，I(aaa) は ICEXT(I(rdfs:Datatype)) の要素&lt;/blockquote&gt;というのは xsd:decimal の表示物 I(xsd:decimal) は，rdfs:Datatype のクラス外延の要素（元）だと言っていますから，実は rdfs:Datatype は xsd:decimal をクラスとしたときのメタクラスに相当するのです．RDFS 公理トリプルでは次のようになっています．&lt;blockquote&gt;&lt;code&gt;rdf:XMLLiteral rdf:type rdfs:Datatype .&lt;br /&gt;rdfs:Datatype rdfs:subClassOf rdfs:Class .&lt;/code&gt;&lt;/blockquote&gt;じゃあ rdfs:Datatype のクラスは何だって？ rdfs:Class に決まっているじゃあないですか．rdfs:Class はブラックホールみたいにすべてのクラスを飲み込むユニバーサルなクラスですから．&lt;br /&gt;&lt;br /&gt;これまでのところを三組みで書けば次のようになります．&lt;blockquote&gt;&lt;code&gt;"15"^^xsd:decimal rdf:type xsd:decimal . &lt;/code&gt;&amp;nbsp;&amp;nbsp;意味論条件２番目&lt;br /&gt;&lt;code&gt;xsd:decimal rdfs:subClassOf rdf:Literal . &lt;/code&gt;意味論的条件２番目＋強い解釈&lt;br /&gt;&lt;code&gt;xsd:decimal rdf:type rdfs:Datatype . &lt;/code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;意味論条件４番目&lt;/blockquote&gt;最後に，&lt;blockquote&gt;もしデータタイプ写像においてデータタイプがその値空間上に互いに素(disjointness)条件を重ねるのなら&lt;/blockquote&gt;と言っていますが，当然xsd:floatとxsd:integerは互いに素だし，xsd:string と xsd:decimal も互いに素です．そうしないと後々困ることがいっぱい出てきます．XMLデータタイプのクラス階層構造は&lt;a href="http://www.w3.org/TR/xmlschema-2/#built-in-datatypes"&gt;ここ&lt;/a&gt;にあるとおりですので，参考にしてください．&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/285889296997674269-8684342181752736512?l=seijikoide.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seijikoide.blogspot.com/feeds/8684342181752736512/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=285889296997674269&amp;postID=8684342181752736512' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/285889296997674269/posts/default/8684342181752736512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/285889296997674269/posts/default/8684342181752736512'/><link rel='alternate' type='text/html' href='http://seijikoide.blogspot.com/2008/12/rdf_19.html' title='「RDF意味論」を読むために　第５章'/><author><name>小出 誠二</name><uri>http://www.blogger.com/profile/02327899241505211617</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14296213581156734800'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-285889296997674269.post-6523545198425372218</id><published>2008-12-14T08:51:00.042+09:00</published><updated>2009-02-05T22:03:03.945+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RDF意味論 rdfs:Class クラス メタクラス 定義域 値域'/><title type='text'>「RDF意味論」を読むために　第４章</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;br /&gt;さて，第４章ではじめてrdfs:Classという語彙が導入され，クラス概念が定義されます．第３章で rdf:type のプロパティ外延で rdf:Property をオブジェクトとするようなサブジェクト（の表示物）は IP の元である，とされました．このときにはまだクラス概念は無いのですが，その式においてオブジェクトの rdf:Property を変数とします．そのときの変数とは何か？rdf:type のプロパティ外延においてオブジェクトになる y であるもの，それがクラスです．サブジェクト（の表示物）x のクラスです．&lt;blockquote&gt;x &amp;isin; ICEXT(y)，iff 〈x,y〉&amp;isin; IEXT(I(&lt;code&gt;rdf:type&lt;/code&gt;)) &lt;/blockquote&gt;iff は if and only if の略で，「ならば」が両方向です．これは定義として同じであることをこう表現します．ICEXT はクラス外延写像のことです．で，ついでにこれまでの章で出てきた，IR や LV に名前を振ってしまおう．すなわち，論議の領域(universe of discouse) IR をクラス外延とするクラスは I(rdfs:Resource)，リテラル値 LV をクラス外延とするクラスは I(rdfs:Literal) です．&lt;blockquote&gt;IR = ICEXT(I(rdfs:Resource))&lt;br /&gt;LV = ICEXT(I(rdfs:Literal)) &lt;/blockquote&gt;それで話を戻すと，このクラス，クラス外延を構成するもの，すなわち ICEXT(y) の y ，が何であるかはオントロジストが自由に整合的に定義できるわけですが，たとえば「イヌ」，「ネコ」，「イヌフグリ」，「ネコヤナギ」，それをこれまでの議論の枠組みの中でどうあつかいましょうか，という話になります．RDF意味論で行っていることは，I(イヌ)，I(ネコ) などを IR の中に入れます．だって IR は論議の枠組みですからね．そして，これら x ∈ ICEXT(y) の y を&lt;b&gt;すべて&lt;/b&gt;集めた集合 IC を考えます．すべてですからね．何と IR も，あっ間違えた，もとい，I(rdfs:Resource) も入れてしまうのですよ．そしてその集合をクラス外延とするものを考えます．それに rdfs:Class という名前をつけます．&lt;blockquote&gt;IC = ICEXT(I(rdfs:Class)) &lt;/blockquote&gt;それでは，このクラス集合をクラス外延とするもの I(rdfs:Class) をどう扱ったらよいだろうか．そこでRDF意味論ではこれを IC の元としてしまいます．つまり，無理やり数学的に書けば，&lt;blockquote&gt;I(rdfs:Class) &amp;isin; ICEXT(I(rdfs:Class)) &lt;/blockquote&gt;わっ，そんなのあるわけない，ということで，これが議論の的になるのですね．自分自身を含む集合なんて，というわけです．&lt;blockquote&gt;rdfs:Class のクラス外延がクラス rdfs:Class を含んでもよいことを注意しておく． &lt;/blockquote&gt;でもね，理屈はこうだと思います．先にサブジェクトの位置する rdf:type と プレディケイトの位置する rdf:type を区別したのと同様に，クラス外延のメンバーとなる rdfs:Class とクラス外延を構成する rdfs:Class を使用時，推論時には区別しましょうと．実際プログラム時にプログラマがこれでまごつくことはありませんからね．自分が今書き下している rdfs:Class が集合の元としてのものか，集合を構成するクラスとしてのものなのかは．それを正しくプログラム表現できるかは別としてね．たとえば，&lt;blockquote&gt;&lt;code&gt;rdfs:Class rdf:type rdfs:Class .&lt;/code&gt;&lt;/blockquote&gt;と言った時，最初の rdfs:Class はクラス外延のメンバーであり，後の rdfs:Class がクラス外延を生成するものですよね．言うなれば，それは文脈で分かるでしょ，ということで．&lt;br /&gt;&lt;br /&gt;もう一つ例を挙げると，&lt;blockquote&gt;&lt;code&gt;rdfs:Resource rdf:type rdfs:Class .&lt;br /&gt;rdfs:Class rdf:type rdfs:Resource .&lt;/code&gt;&lt;/blockquote&gt;なのですが，これも文脈を考慮しないと循環してしまいますから，普通はありえないのですが，これまでも示してきた意味論で記述すれば，&lt;blockquote&gt;I(rdfs:Resource) &amp;isin; ICEXT(I(rdfs:Class))&lt;br /&gt;I(rdfs:Class) &amp;isin; ICEXT(I(rdfs:Resource))&lt;/blockquote&gt;という意味ですからね．&lt;blockquote&gt;I(rdfs:Resource) &amp;isin; I(rdfs:Class)&lt;br /&gt;I(rdfs:Class) &amp;isin; I(rdfs:Resource)&lt;/blockquote&gt;ではありませんからね．W3C の OWL ワーキンググループでは今ようやく punning という言葉でここまでたどり着いたということらしいです．&lt;br /&gt;&lt;br /&gt;えっと，このクラスのクラス rdfs:Class みたいなものをメタクラスと言いますが，そしてメタクラスのクラスをメタメタクラスと呼ぶとすると，UML で考えるのはメタメタクラスまでで，しかも自分自身を含む集合などというあやしいものは考えません．でもLispのリフレクション言語である３Lispでは自分自身を含む言語ということになっているし，ANSI Common Lisp のオブジェクトシステムである CLOS でも standard-class のクラスは standard-class ということになっていて，RDF と同じなのです．これに興味を持ったかたは，私の論文を読んでください．&lt;br /&gt;&lt;br /&gt;クラス概念の次に第４章で重要なものは，定義域(rdfs:domain) と値域(rdfs:range) の導入ですね．定義域は三つ組みのサブジェクトの取り得る範囲を制限し，値域はオブジェクトの取り得る範囲を制限します．これは問題ないですね．書かれるもの（制限するもの）はクラスで，制限されるものはそのインスタンスになりますから，お間違えなく．ただし，ワインの色には赤か白かロゼしかないと言っておいて，別の場所で自家製ワインの色はピンクと言ったらどうしましょうか，という話はあります．私はRDF意味論の議論においては三つ組みの宣言はすべて大域的としていますから，その場合は充足しない，ということにしています．これは一つのトリプルは述語論理における一つの式でそれが並列に並んでいるとすれば，当然ですね．すなわち三つ組みにスコープはない．Americanワインの産地はアメリカで，カリフォルニアワインの産地はカリフォルニアという定義があったとき，ナパ製のワインは当然Americanワインかつカリフォルニアワインですね．ナパはカリフォルニアの中にあって，カリフォルニアはアメリカの中にあるという知識があるときは．大域的に宣言された値域はすべて重ね合わされます．「愛知一色うなぎ」の産地は「愛知県幡豆郡一色町」となっているのに中国産うなぎはこれを充足しないし，「愛知県岡崎市一色」も充足しません．&lt;br /&gt;&lt;br /&gt;ですから，すべての三つ組みは大域的に重ねあわされると．したがって，&lt;blockquote&gt;&lt;code&gt;&amp;lt;ex:a&amp;gt; &amp;lt;ex:p&amp;gt; "&amp;lt;notLegalXML"^^rdf:XMLLiteral .&lt;br /&gt;&amp;lt;ex:p&amp;gt; rdfs:range rdf:XMLLiteral .&lt;/code&gt; &lt;/blockquote&gt;となっていたら，&lt;code&gt;&amp;lt;ex:p&gt;&lt;/code&gt;の値域は rdf:XMLLiteral ですが，１番目の表記は ill-formed な表記で，これは rdfs:Resource のインスタンスではあっても rdf:XMLLiteral のインスタンスではありませんから非充足です．つまりこの二つを含むいかなる三つ組み集合（グラフ）も非充足です．&lt;br /&gt;&lt;br /&gt;ところで&lt;code&gt;"&amp;lt;notLegalXML"^^rdf:XMLLiteral&lt;/code&gt;って，SWCLOS ではどう読むんだろう．ウーン，心配になってきた．&lt;br /&gt;&lt;br /&gt;この章の最後近くでは rdfs:subClassOf，rdfs:subPropertyOf，rdfs:domain，rdfs:range について，外延的意味条件としてより強い条件も提示しています．強いという意味は，右辺から左辺への矢印もあるからでしょうね．ある二つの集合を考えたときに，その二つの集合が包含関係にあれば，それをサブクラスやサブプロパティ関係にしてよいと．いいような気がしますけどね．「イヌ」のクラス外延がたまたま「ペット」のクラス外延を含んでいたら，「ペット」は「イヌ」のサブクラス？ ウーン，そのとき限りのお話としてはいいような・・・でも真実を追究する立場としてまずいような・・・．多分だめなんでしょうね．オントロジーを追求する立場としては．&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/285889296997674269-6523545198425372218?l=seijikoide.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seijikoide.blogspot.com/feeds/6523545198425372218/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=285889296997674269&amp;postID=6523545198425372218' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/285889296997674269/posts/default/6523545198425372218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/285889296997674269/posts/default/6523545198425372218'/><link rel='alternate' type='text/html' href='http://seijikoide.blogspot.com/2008/12/rdf_14.html' title='「RDF意味論」を読むために　第４章'/><author><name>小出 誠二</name><uri>http://www.blogger.com/profile/02327899241505211617</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14296213581156734800'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-285889296997674269.post-9220555590360159346</id><published>2008-12-13T08:42:00.035+09:00</published><updated>2009-02-05T20:15:08.177+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RDF意味論 reification 具体化 プロパティ rdf:value'/><title type='text'>「RDF意味論」を読むために　第３章</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;br /&gt;これまでのところでは，rdf:typeとかrdf:Propertyといった言葉は出てきていませんでした．プレフィックスとしてrdfがついている語彙はrdf語彙と呼ばれますが，３章で初めて出てきます．でもここではrdf:typeとrdf:Propertyについてあまり本格的な説明はなされませんね．RDF意味論的条件の１番目，&lt;blockquote&gt;もし &amp;lt;x, I(&lt;code&gt;rdf:Property&lt;/code&gt;)&amp;gt; &amp;isin; IEXT(I(&lt;code&gt;rdf:type&lt;/code&gt;)) ならば，&lt;br /&gt;そしてその時に限り，x &amp;isin; IP &lt;/blockquote&gt;というのはプロパティのrdf:typeはrdf:Propertyと言っているのですから，あたりまえのことで，そして３章ではこれしかrdf:Propertyについては述べていません．&lt;br /&gt;&lt;blockquote&gt;IP が IR の部分集合である &lt;/blockquote&gt;というのは，（後ででてきますが）すべてのプロパティは rdfs:Resource のインスタンスであるということですが，３章ではまだそれは言っていません．１章で述べられたように IR というのはすべてのエンティティを含むユニバースのことで，そのなかにはプロパティの（表示物の）集合 IP と型付きリテラル（の値）集合 IL とリテラル値（そのもの）の集合 LV が含まれる，ということです．３章では，むしろrdf:XMLLiteralについて，すなわち IL について多く述べています．&lt;br /&gt;&lt;br /&gt;１章で解説を省いてしまいましたが，IEXTというのはプロパティ外延写像と呼ばれ，IR 中の任意の二つのエンティティを取り出してペア &amp;lt;I(s), I(o)&amp;gt; を作ったとき，IEXT(I(p))というのはプロパティ p に関する三つ組み &amp;lt;s p o&amp;gt; が成り立つ集合のことを言います．ここで表示するもの x について表示されるものを I(x) と表記しています．ちょっと蛇足ですが，&lt;blockquote&gt;rdf:type rdf:type rdf:Property . &lt;/blockquote&gt;という三つ組みがあったとき，サブジェクトとしての rdf:type と プレディケイトとしての rdf:type を区別して，サブジェクトとしての rdf:type の表示物は I(rdf:type) &amp;isin; IR ですが，意味論的条件の１番目から &amp;lt;I(rdf:type), I(rdf:Property)&amp;gt; &amp;isin; IEXT(I(rdf:type)) だから I(rdf:type) &amp;isin; IP となり，IP &amp;sube; IR だから問題なくて，逆に I(rdf:type) &amp;isin; IP ならばこの三つ組みは成立して真となります．&lt;br /&gt;&lt;br /&gt;RDF意味論的条件の２番目は "1"^^xsd:integer の値 IL("1"^^xsd:integer) は LV の元であって，その rdf:type は rdf:XMLLiteral であるということですね．&lt;br /&gt;&lt;br /&gt;RDF意味論的条件の３番目は "one"^^xsd:integer の値 IL("one"^^xsd:integer) は LV の元でもなく，その rdf:type は rdf:XMLLiteral ではないということですね．この場合ill-formedな表記が表示するところのものは，何かあるとしているのでしょうか．この意味論的条件の証明のところでは，&lt;blockquote&gt;ill-typed なXMLリテラルは RH 中では&lt;b&gt;それ自体&lt;/b&gt;を表示し，それゆえ構成すると LV&lt;sub&gt;RH &lt;/sub&gt;からは排除される． &lt;/blockquote&gt;としていますね．ウーム，そうか，文法エラーではじいてはいけないんだ．SWCLOS ではどうなっていたかな．ひょっとしたら，修正が必要かも．&lt;br /&gt;&lt;br /&gt;Reification というのは意味も訳語も難しいですね．一応ここでは&lt;a href="http://www.kyoritsu-pub.co.jp/shinkan/shin0807_02.html"&gt; Russel&amp;amp;Norvig &lt;/a&gt;の訳に倣って「具体化」としましたが，インスタンシエーションとは違いますよね．（本当はもっと的確な訳語が，「伴意」みたいなものが，ほしいと思っています．）どうも解釈の逆の要素があるみたいです．&lt;a href="http://aima.cs.berkeley.edu/newchap07.pdf"&gt;伴意の図7.6 &lt;/a&gt;を見ていただきたいのですが，テキストの空間，字句空間から意味の空間へ行くのが解釈ならば，reification とはその逆の要素があります．ですからある三つ組み &amp;lt;ex:a&amp;gt; &amp;lt;ex:b&amp;gt; &amp;lt;ex:c&amp;gt; . &amp;nbsp;&amp;nbsp; があったときに，意味空間からそのテキストのことを言及したい（と言ってもそれもやはりテキスト表現するしかないわけですから），それでこう書く．&lt;blockquote&gt;&lt;code&gt;_:xxx rdf:type rdf:Statement .&lt;br /&gt;_:xxx rdf:subject &amp;lt;ex:a&amp;gt .&lt;br /&gt;_:xxx rdf:predicate &amp;lt;ex:b&amp;gt; .&lt;br /&gt;_:xxx rdf:object &amp;lt;ex:c&amp;gt .&lt;/code&gt;&lt;/blockquote&gt;私はreificationをまだ本格的には使っていませんが，これが使われるようになるとオントロジーもやっと成熟して一人前というような気がしています．おまえの言うことはああだこうだと言う，ここで言っていることはこことここからこう来ているよ，この知識はどこそこからもたらされました，などという知識がいっぱい増えると（メタ知識），今のページランクみたいに知識ランクをつけることができるようになって，オントロジーがやっと信頼できるようになる．&lt;br /&gt;&lt;br /&gt;あと，rdf:value もほとんど無視されていますが，私はこれも重要と思っています．大体アノテーションとして xsd:string とか xsd:integer というのは意味を成しません．ですからサービス記述するときでも，関数の引数のタイプを指定するときでも，こういうプログラムレベルでの型ではなくて，意味のレベルでの型をつけなければいけません．例えば価格，温度，長さ．そうするとそこには単位と値が基本的に必要となり，値はデフォールトでは rdf:value がいい．RDF意味論では&lt;blockquote&gt;プロパティのうちの第１のあるいは主要な値を指定するために用いられる．&lt;/blockquote&gt;としていますが，別にその値とは数値には限られませんね．&lt;br /&gt;&lt;br /&gt;さて，第４章はいよいよrdfs語彙になります．やっとクラス・インスタンスと定義域・値域の話がでてきて，RDF意味論の中心的な章となります．&lt;p&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/285889296997674269-9220555590360159346?l=seijikoide.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seijikoide.blogspot.com/feeds/9220555590360159346/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=285889296997674269&amp;postID=9220555590360159346' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/285889296997674269/posts/default/9220555590360159346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/285889296997674269/posts/default/9220555590360159346'/><link rel='alternate' type='text/html' href='http://seijikoide.blogspot.com/2008/12/rdftyperdfpropertyrdfrdfrdftyperdfprope.html' title='「RDF意味論」を読むために　第３章'/><author><name>小出 誠二</name><uri>http://www.blogger.com/profile/02327899241505211617</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14296213581156734800'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-285889296997674269.post-8615916064999926869</id><published>2008-12-07T07:47:00.028+09:00</published><updated>2009-02-05T20:35:14.035+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RDF意味論 伴意 解釈 充足可能'/><title type='text'>「RDF意味論」を読むために　第２章</title><content type='html'>&lt;p&gt;伴意を理解するためには，何よりもまず Russell と Norvig の人工知能教科書にある図（&lt;a href="http://aima.cs.berkeley.edu/newchap07.pdf"&gt;第２版では図7.6&lt;/a&gt;，第１版なら図6.5）を見てください．それによれば，文による表現の世界とそれが表示（denote）する世界があったときに，文 α の解釈 I(α) すなわち文 α が指し示すところのものが成立して，I(α) から文 β の解釈 I(β) が成立するときに，文 α は文 β を「伴意」する，というわけですね．RDF意味論の用語集ではこのように書いてあります．&lt;/p&gt;&lt;blockquote&gt;「一番目が真」がいつでもその「二番目も真」であることを保証するような表現間の意味論的関係&lt;br /&gt;「一番目の表現」が真で「二番目が偽」となることが論理的にいかなるときも不可能であること&lt;br /&gt;「一番目」を充足するいかなる解釈も「二番目」を充足すること&lt;/blockquote&gt;&lt;p&gt;何にしても，伴意というのはこちらがわの文と文との関係に用いられることで，あちらがわの解釈の世界と平行の関係にあるようです．論理において， &lt;em&gt;x&lt;/em&gt;+&lt;em&gt;y&lt;/em&gt;=3 が真ならば必ず &lt;em&gt;x&lt;/em&gt;=3－&lt;em&gt;y&lt;/em&gt; も真，みたいなどんな &lt;em&gt;x&lt;/em&gt; や &lt;em&gt;y&lt;/em&gt; であっても成り立つものを恒真式（トートロジー）といいます．トートロジーでは &lt;em&gt;x&lt;/em&gt; や &lt;em&gt;y&lt;/em&gt; が何であるか，すなわち解釈を考える必要が無い．一方で，どんな世界をもってきても成り立たない式もあります．で，こういう恒真式や恒偽式はあたりまえすぎて考える余地がない．「つまらん，おまえの言うことはつまらん」というわけです．興味があるのは， &lt;em&gt;x&lt;/em&gt; や &lt;em&gt;y&lt;/em&gt; の解釈によって真になったり偽になったりする範囲です．それであるトリプル集合を考えたとき，そのある解釈 I が成り立つ（すべてのトリプルが真の）とき，その解釈 I はトリプル集合を充足するといいます．充足する解釈がある場合を充足可能といいます．&lt;/p&gt;&lt;p&gt;&lt;em&gt;x&lt;/em&gt; と &lt;em&gt;y&lt;/em&gt; が自然数の世界を考えたとき， &lt;em&gt;x&lt;/em&gt;+&lt;em&gt;y&lt;/em&gt;=3 というのは充足可能ですね．この場合，&lt;em&gt;x&lt;/em&gt; と &lt;em&gt;y&lt;/em&gt; の解釈として{&lt;0, 3&gt;, &lt;1, 2&gt;, &lt;2, 1&gt;, &lt;3, 0&gt;}の４個の解釈があります．&lt;/p&gt;&lt;p&gt;それで，あるトリプル集合を考えたとき，これを充足する解釈のすべてについて，もう一つの新しいトリプルも成立するときに，もとのトリプル集合は新しいトリプルを伴意する，と言います．&lt;/p&gt;&lt;blockquote&gt;もし A が B を伴意するのなら，A を真とするどのような解釈も B を真とする．したがって，A の表明はすでに B の表明と同じ「意味」を含んでいる．&lt;/blockquote&gt;&lt;p&gt;伴意はつまらなくないです．中には自明でつまらない (trivially true) ものもありますが，A と言ったら B と言ったことと同然だよ，というのは推論を進めていく上で重要な点です．後で出てくる各種伴意ルールによって我々は多くの利益を得ることができます．例えば，あるトリプルにおいて全く初出のエンティティがあったとしても，伴意ルールを用いてサブジェクトとオブジェクトに位置するURI は rdfs:Resource のインスタンスとすることができますし，プレディケイトに位置するURI は rdf:Property のインスタンスとすることができます．&lt;/p&gt;&lt;p&gt;第２章ではいくつかの基本的なレンマを提出していますが，その直前にちょっと理解しがたい文があります．&lt;/p&gt;&lt;blockquote&gt;RDFにおける単純に正当な推論の二つの基礎式は，論理表現すれば (P and Q) からPを推論することと，foo(baz) から(exists (?x) foo(?x)) を推論することである．&lt;/blockquote&gt;&lt;p&gt;これいずれも当たり前といえば当たり前ですよね．多分この二つの推論を使って以後のレンマを導いているということなのでしょう．あまり自信はありませんが・・・．&lt;/p&gt;&lt;p&gt;(P and Q) &amp;rArr; P というのは論理の世界ではAND除去と呼ばれていますが（自明なことですが），サブグラフのレンマ（グラフはそのサブグラフをすべて伴意する）というのはAND除去そのものですね．第１章のところでトリプルの一つでも偽ならばグラフは成立しないと書きましたが，言い換えればトリプルはAND結合だということですね．foo(baz) &amp;rArr; (exists (?x) foo(?x)) というのは，ラベルのついているノードをブランクノードにしてしまうことですから，インスタンスのレンマ（グラフはそのいかなるインスタンスによっても伴意される）ことなのでしょうね．さてそのほかのレンマにもこの二つの推論が含まれているのでしょうか？&lt;/p&gt;&lt;p&gt;ここまでのところでは，とくべつな語彙は何もありませんでした．次章からrdf語彙とかrdfs語彙を導入し，その語彙の解釈の仕方を決めて，rdf-解釈，rdfs-解釈に伴うrdf-伴意ルールやrdfs-伴意ルールが導入されます．&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/285889296997674269-8615916064999926869?l=seijikoide.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seijikoide.blogspot.com/feeds/8615916064999926869/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=285889296997674269&amp;postID=8615916064999926869' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/285889296997674269/posts/default/8615916064999926869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/285889296997674269/posts/default/8615916064999926869'/><link rel='alternate' type='text/html' href='http://seijikoide.blogspot.com/2008/12/rdf_07.html' title='「RDF意味論」を読むために　第２章'/><author><name>小出 誠二</name><uri>http://www.blogger.com/profile/02327899241505211617</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14296213581156734800'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-285889296997674269.post-3052485459132977388</id><published>2008-12-06T08:04:00.013+09:00</published><updated>2009-01-27T04:50:07.211+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RDF意味論　外延　内包　メンバーシップループ'/><title type='text'>「RDF意味論」を読むために　第１章</title><content type='html'>RDF意味論の中で一番論議を呼び起こすもととなっているのが，クラス概念です．&lt;br /&gt;&lt;blockquote&gt;クラスがRDFSで導入されるとき，それら複数のクラスがそれら自身を含んでもよい．・・・ここで与えられる意味論的モデルでは，オブジェクトとしての・・・クラスはそれらの外延・・・とは区別される．&lt;/blockquote&gt;今，何か世の中にあるオブジェクトを考えて（ベースオブジェクト），何かの考え方でもってそれを分類して，複数の集合を作ったとします．そしたらそのある集合ごとに名前をつけましょう．たとえば，この集合は「イヌ」，この集合は「ネコ」，これには「ネコヤナギ」，これには「イヌフグリ」．そうしたときに，そのつけた名前が表示するものをクラスと呼んで，ベースオブジェクトの集合をそのクラス外延と呼びます．&lt;br /&gt;&lt;br /&gt;イヌのクラス外延とネコのクラス外延を合併させた集合を考えて，これに名前をつけます．「イヌネコ集合」でもいいのですが，「哺乳類」とか「ペット」のほうがいいかも知れません．ネコヤナギのクラス外延とイヌフグリのクラス外延の集合には「植物」とかでしょうか．ここで注意してもらいたいのは，哺乳類のクラス外延の元としてイヌのクラス外延の元は含まれますが，イヌ（という概念あるいはクラス，ベースオブジェクトではない）は含まれないということです．これが普通なのですが，RDF意味論で言っていることは，イヌのクラス外延の中にクラス「イヌ」を入れてもよい，ただしベースオブジェクトとクラス「イヌ」は区別するということなのです．でもさすがに「イヌ」でそういうことをすることはなく（必要ならしてもいいのですが，つまりイヌのメタが必要なら），RDFSで用意しているのはあとで出てきますが，rdfs:Classのクラス外延の中にrdfs:Classを含む，というところだけです．&lt;br /&gt;&lt;blockquote&gt;明示的な外延写像の使用は・・・二つのクラスが同じインスタンスを含むことを可能にする．&lt;/blockquote&gt;というのは，たとえば，うちのbuddyはクラス「イヌ」とクラス「ペット」の両方のクラス外延の元であるということですね．&lt;br /&gt;&lt;br /&gt;で，話を戻しますと，このクラス外延の中にクラス自身を含んでもよいというのが，特に論理学者にはわからないらしく，記述論理(DL)を中心としてきた欧州のセマンティックウェブの研究者が困って，色々な論文をこの点だけで発表しているのですが，reflectionという考えに慣れた，特にLispを中心とする研究者には何の違和感もないのです．&lt;br /&gt;&lt;br /&gt;メンバーシップループを許すと何がうれしいか？&lt;br /&gt;&lt;br /&gt;それはメタモデリングが可能になるからです．OWL Fullではクラスをインスタンスのように扱えるようになるということなのですが，DLから出発するとOWL Fullを実現するのが難しい．rdfs:Classがrdfs:Classのインスタンスであるからこそ，クラスをインスタンスとして扱うことができるのですが，ここではこれ以上の説明はしませんので，興味あるかたは私の論文を読んでください．&lt;br /&gt;&lt;br /&gt;外延に対抗する概念は内包ですね．RDF意味論では用語集でこのように書いています．&lt;br /&gt;&lt;blockquote&gt;外延的：集合論に基づく理論あるいはクラス理論．クラスは集合と考えられ，プロパティは &lt;object,&gt;&amp;lt;object, value&amp;gt;ペアの集合と考えられる．同じ外延を有するエンティティ間で違いを認めない理論．&lt;br /&gt;内包的：外延的ではない．同じ外延を有する異なるエンティティを許す．&lt;br /&gt;&lt;/object,&gt;&lt;/blockquote&gt;&lt;p&gt;これだけでは，やっぱり分かりにくいですね．今，何かオブジェクトのメンバー変数を考えましょう．ある二つのオブジェクトが同じクラス外延に所属しているとして，でもそのメンバー変数の値は違うものとします．メンバー変数の値が違うのだから，オブジェクトとしてその実現は異なりますね．RDF意味論としてはあるクラスの外延の元として複数の個物を認めているのですね．そして完全に外延的であれば，クラス外延が等しいクラスは等しいとするらしいのですが，RDF意味論ではたまたまクラス外延が一致する異なるクラスを認めるらしい．&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;二つのクラスが同じインスタンスを含むことを可能にする．これはRDFSのクラスは単なる集合以上のものと考えられることを意味している．それらは単なる外延的一致を超えた，ロバストな同一性概念である「分類」あるいは「概念」と考えられる．&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;しかしRDF意味論の範囲ではオブジェクトのプロパティ値が同じであっても，すなわち個物Aのあるプロパティの値と個物Bの同じプロパティの値が同じだとしてもあるいは違うとしても，それを分類や外延の構造に反映させる議論はいっさいありませんから，内包的だと言う事もできないような気がします．AIの分野では，「動物で（外延的）空を飛ぶ性質があるなら（内包的），それは鳥である」というルールがよく出てきますが，RDF意味論ではそのような議論は一切ありません．&lt;/p&gt;&lt;p&gt;さて，解釈ですが，あるトリプル集合（グラフ）があったときに，それが成り立つか成り立たないか，ある制約のもとで矛盾があるかないかを考えます．当然トリプル集合中のたった１個のトリプルが成り立たなくても，全体として成り立ちません．それを決定するためのものが解釈で，RDF意味論の議論では，まずテキスト上に現れる語彙（URIとかリテラルになりますね）からそれが指し示すもの(denotation)を定義して，そのdenotationにおいてトリプルが成り立つ条件を考えます．詳しくは本文の繰り返しになりますから，本文を読んでいただくとして，第１章の単純解釈の意味するところは，もうほとんど自明のことしか言っていませんね．&lt;/p&gt;&lt;blockquote&gt;I(p)はIP中にあり&amp;lt;I(s), I(o)&amp;gt;がIEXT(I(p))中にあればI(E)=真，さもなければ偽&lt;/blockquote&gt;&lt;p&gt;I(p)とはURIである p の指し示すもの(denotation)です．URIで示すところのものは，それによって世界で唯一のものですから，明らかに変数ではありませんね．ですからRDFグラフは命題論理に比較されます．ただし，トリプルですからプレディケイトを述語論理としたときのアリティの数はサブジェクトとオブジェクトで２です．そしてブランクノードを導入したとき，つまり名前がURIがないものを導入したとき，それはグラフ中で他のリソースとある関係にあるもの，というわけで論理的には存在変数に相当するというわけです．ですからものすごい基本においてRDFグラフはアリティ２の存在変数だけを許した述語論理と同等です．論理の本を読むと，あるいはプログラムするときには，一般に変数の取り扱いが重要になります．同様にRDFグラフにおいてもブランクノードの取り扱いが重要で，グラフのマージにおいては論理における変数の標準化分離と同等のことを行わなければなりません．たとえばブランクノードを含んだ二つのグラフの等価性を調べるときも，ブランクノードの識別子については注意が必要です．もし別々のファイルにたまたま同じ識別子を持つブランクノードがあったら，その識別子の名前を変更する必要がある．これは実装においてノードを何かのオブジェクトで実現したときでも全く同様ですね．そしてあるグラフとあるグラフが等しいということを言うときには，ブランクノードだけの違いは無視しなければならない．&lt;/p&gt;&lt;p&gt;蛇足ですが，RDF意味論でいうところのリテラルは，論理でいうところのリテラルとは違うものです．&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/285889296997674269-3052485459132977388?l=seijikoide.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seijikoide.blogspot.com/feeds/3052485459132977388/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=285889296997674269&amp;postID=3052485459132977388' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/285889296997674269/posts/default/3052485459132977388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/285889296997674269/posts/default/3052485459132977388'/><link rel='alternate' type='text/html' href='http://seijikoide.blogspot.com/2008/12/rdf.html' title='「RDF意味論」を読むために　第１章'/><author><name>小出 誠二</name><uri>http://www.blogger.com/profile/02327899241505211617</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14296213581156734800'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-285889296997674269.post-8641152508895237179</id><published>2008-11-28T20:29:00.022+09:00</published><updated>2009-01-27T22:13:49.806+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='セマンティックウェブ，RDF，意味論'/><title type='text'>「RDF意味論」を読むために　第０章</title><content type='html'>形式意味論(formal semantics) では，統語論と意味論という言語の二大側面のうちの，意味論を数学的に厳密に扱おうとします．その御利益として，&lt;br /&gt;&lt;ol&gt;&lt;li&gt;自然言語で意味記述したときにどうしても持ち込まれる曖昧さを極力排除することができる．&lt;/li&gt;&lt;li&gt;計算機処理可能な言語にすることができる．&lt;/li&gt;&lt;/ol&gt;ということがあるのですが，一方で&lt;br /&gt;&lt;ol&gt;&lt;li&gt;人間の持つ融通さがない．&lt;/li&gt;&lt;li&gt;集合論や論理などをベースにしているために，その方面の素養がないとわからない．&lt;/li&gt;&lt;/ol&gt;などという欠点もあるわけです．&lt;br /&gt;&lt;br /&gt;そもそも，計算機に意味なんて分かるはずがないという方も必ずいらっしゃるわけで，そういう方にはここで扱おうとしている意味(semantics) というのは，通常に使われる意味(meaning) とは違いますよ，とまず言いたい．本文中でもこういう文があります．&lt;br /&gt;&lt;blockquote&gt;「こういった意味のおおくは機械処理によるアクセスは不可能であり，本文書において記述される形式意味論がこの広義の意味で '意味' の完全な分析を提供することは意図されていない」&lt;/blockquote&gt;で，ここで意図するところの意味論(semantics) には，操作的意味論(operational semantics) と，表示的意味論(denotational semantics) と，公理的意味論(axiomatic semantics) があるのですが，このへんの説明はちょっとググッてもらえば，一杯でてきますから，ここではあまり説明しませんが，このRDF意味論は，表示的意味論に基づいて書かれています．表示的意味論では人が書いた文面，テキスト，プログラムコード，論理的宣言文における構成物が，それぞれ一体意味として何を指すものなのかということを考えます．たとえば，簡単に"1"と書いたときに，テキストにある文字"1"と我々が誰でも共通に知っている（と思っている）あの数である 1 は別物である，ということを常に意識します．通常の（計算機科学ではない）言語学でもシニフィアン「意味するもの」とシニフィエ「意味されるもの」として両者を区別しますが，それと似ていますね．&lt;br /&gt;&lt;br /&gt;意味(meaning) と言ったときには，テキストが意味するところのものが人にとって，その時々の置かれた状況に応じて圧倒的な存在感や内実でもって我々に迫ってくるのですが，そんなものは計算機のあずかりえぬところですので，意味(semantics)と言った時には，とりあえず人にとってのなんちゃらなどとは一切考えずに，語彙の表示するところのものを，語彙と語彙の関係を，そして文の表示するところのものを数学的に考えます．でも，この表示されるものは数学的なものではありますが，よくよく学べば万人が共通に理解できるあるものを，共有できるあるものを示すはずだ，ということは前提となっているのでしょうね．つまり誰でもが思うところのあの１はみんな同じ１のはずだと．このへんはプラトンのイデア論と似ていますね．それが数学的，集合論的，論理的な装いをしていると考えられます．&lt;br /&gt;&lt;br /&gt;まあこの辺は，じゃあ私の思っている 1 と君の思っている 1 がはたして同じものなのか，それとも本当は違うものなのかを見分ける方法があるのかないのかとか，アイデンティティの問題になってくるわけで，等しいという場合にももう随分とたくさんの「等しさ」があります．Lispではeq, eql, equal, equalp, = などとありますが，論理の世界でも色々あるのは同じですね．&lt;br /&gt;&lt;br /&gt;で，等しいとか等しくないと言った場合には，何かそれを背景で支えるある世界があるのでしょうね．eqだとこれはLispのポインタとして等しいということですから，計算機のメモリとCのポインタみたいなのが頭に浮かんでくるし，eqlでは定義として等しいことですから，定義式とその表示するものが頭に浮かんできます．= は数の世界だけです．それでこういう世界を考えたときに頭に浮かんでくる世界を「モデル」というわけです．世界のモデルです．RDF意味論における世界のモデルはラベルつき有向グラフです．でもそれを記述するのはテキストとしてサブジェクト・プレディケイト・オブジェクトの三つ組み（の集合）ですからね．このテキストとしての記述（統語論）とモデルとしてのラベルつき有向グラフの間に，ものすごいギャップがあるのです．そういうわけで，もうこのRDF意味論の記述全体が，ほとんどこのギャップを埋めることに費やされているといってもいいぐらいの感じです．ですから，何か難しそうなことが書いてあると思っても，グラフをモデルとしてよくよく読めば，ほとんどはすぐに了解できるあたりまえのことばかりです．&lt;br /&gt;&lt;br /&gt;テキストとしての三つ組みとグラフモデルの間のギャップで最大のものが，ブランクノードです．難しい議論の半分以上はこのブランクノードに費やされている．たとえば，内部にブランクノードを含むグラフ（テキスト表現は三つ組みの集合）を別のブランクノードを含むグラフと一緒にしたとき（これをマージという），ただ単に二つの三つ組みのファイルを連結するわけにはいきません．何故ならばブランクノードを示す識別子がたまたま一致する場合のことを考慮しなければならない．&lt;br /&gt;&lt;br /&gt;というわけでこのへんで止めますが，第１章から順番にこんな調子で進めますので，よろしくお願いいたします．&lt;br /&gt;&lt;br /&gt;「表示的意味論」でググッて，&lt;a href="http://www.geocities.jp/minao_kukita/files/kukita_ronso08.pdf"&gt;こんなものを見つけましたので&lt;/a&gt;，紹介しておきます．これ私にとってはとっても面白かったです．&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/285889296997674269-8641152508895237179?l=seijikoide.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seijikoide.blogspot.com/feeds/8641152508895237179/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=285889296997674269&amp;postID=8641152508895237179' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/285889296997674269/posts/default/8641152508895237179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/285889296997674269/posts/default/8641152508895237179'/><link rel='alternate' type='text/html' href='http://seijikoide.blogspot.com/2008/11/rdf.html' title='「RDF意味論」を読むために　第０章'/><author><name>小出 誠二</name><uri>http://www.blogger.com/profile/02327899241505211617</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14296213581156734800'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>