応用が広そうな言葉だ。難しくて理解できなかった場合は今度から「私は恋愛映画として見た。」と言おう。
zt日記より。IRCのチャンネルのURIはやはりあるそうです。まだ草案の段階ですが。irc urls in Mozillaも。
チャンネル名に2バイト文字が使われている場合、文字コードはUNICODEとしてそれをエスケープするんだろうか。チャンネル名に「#」が使われている場合に必ずエスケープしなければならないのがちょっと面倒。
デスクトップ画像をWinnyでばらまいてしまうというウィルス。セキュリティホールmemo。九十九式。Winnyウィルス。Winnyウィルスリンク集。
ほどほどに。
意味論的Webというからには、セマンティック・ウェブでは意味を扱うはずだ。どうやって?セマンティック・ウェブでは意味を定義しない。その代わりURIを使う。
例えば、音楽は http://example.com/music 。
機械は意味を理解しない。URIつまり識別子を識別するだけ。機械にとって意味とは人間がURIに勝手に関連付けている〈何か〉にすぎない。
うまいこと考えたなあと思う。
RDFは語彙を定義する仕組みにオブジェクト指向のクラスの概念を採り入れている。
RDFで記述されるすべてのものはリソースと呼ばれ、 rdfs:Resourceクラスのインスタンスである。 rdfs:Resourceクラスはすべてのもののクラスだ。すべてのクラスは rdfs:Resourceクラスのサブクラスだ。rdfs:Resourceクラスは rdfs:Classクラスのインスタンスだ。
rdfs:Classクラスは rdfs:Classクラスのインスタンスだ。
Rubyのヒエラルキーとちょっと違う。RDFではオブジェクトのIDにURIを使うと解釈できる。
■追記。にヒエラルキーAAを書いてみた。
RDFは3つ組が基本だそうな。主語、述語、目的語。SVO。例えば
http://www.example.org/index.html has a creator whose value is John Smith
の場合。主語は「http://www.example.org/index.html」。述語は「creator」。目的語は「John Smith」。普通の英文法と違うのは気にしない。
どんなものが主語や述語になれるか。
主語は RDF URI referenceか blank node
述語は RDF URI reference
目的語は RDF URI referenceかリテラルか blank node
だから上の例では「creator」には適当なURIを割り振る必要がある。 http://purl.org/dc/elements/1.1/creator とか。で、最初の例文をRDFっぽく書き直すと、
ex:index.html dc:creator staffid:85740
となる。「『ex:index.html』の『dc:creator』は『staffid:85740』である。」と人間は読む。機械は「『ex:index.html』は『staffid:85740』という『dc:creator 』プロパティを持つ。」と読む。
機械は文の意味を理解しない。しているように見えるかも知れないけど、見えるだけ。「dc:creator」の意味を理解しない。URIにより識別するだけ。これなら機械にもできるだろう。つづきはで。
さて、語彙の定義に戻る。
典型的なオブジェクト指向では eg:Bookクラスを定義して、eg:authorという名前の属性をクラスに加えて、属性の型を eg:Personに決めたりする。しかしRDFでは、 eg:authorプロパティは eg:Documentクラスの属性であり、その型は eg:Personであると定義する。
プロパティ中心で定義する。プロパティに型を定義できる。プロパティの一例である「foaf:knows」を例にとると
* 音楽 foaf:knows 犬
のような変な記述が成立しない。なぜなら、foaf:knowsプロパティはfoaf:Personの属性であり、型はfoaf:Personだから(本当は domainとか rangeと言う)。
John foaf:knows Paul
だと成立する。また、foaf:Personを継承したクラス に対しても foaf:knowsは使える。
オブジェクト指向と型を実にうまく採り入れている。機械は内容を理解することなく変な記述をある程度弾くことができる。すごく良くできていると思う。
最近のコメント