2004 年 1 月の履歴(もしくは日誌)


2004 年 1 月

1 月 11 日

FOAF とは結局いったいなんなのか

FOAF とはいったい結局なんなのでしょう.自己紹介と知人ネットワークを RDF で記述して,それがどうなるのでしょう?

@nak(あ)さんが面白い事を書いています:

無論技術的には興味深くて面白い試みであるのは確かではあるが、自分の知人、友達の情報を記述する(逆に友達じゃない人は記述しない)ということは、自分の人間関係をデジタルに(1or0、yes or no)で二分するということを行い、それを公開するということにもなるのではないかと思ってしまったのである。

引用終わり.

あはは.そんなふうに考えた事は無かったです,ぼくは.
例えば,リンクのページなんて用意しても,知っている人のページを全部書く訳ぢゃないし,相互リンク希望のメールなんて受けても普通は断っちゃいますし.

FOAF の知人も,適当に思いついただけ書いて終わりです.でも FOAF なら,知人として記述してって依頼があったら,FOAF の記述に加えるのは,やぶさかではないかな.

あと単一の XML ファイルに全部の事を記述する必要は無いのです.例えばサイクリングに出かけて,それについての Web ページを書いたとして,ついでに RDF でメタデータを記述したとします.その時に一緒にサイクリングをした人の事を FOAF で知人として書いておけば良い訳です.
あちこちに情報を分散して書いておく訳です.理想的には RDF を基本にするセマンティック Web ってそれで機能するはず.

PLINK は,まだあちこちに書いてある情報を,うまくマージすることは,一部は実現しているんですが,まだあまりうまく出来ていません.でもそれを目指しているようですし,きっとすぐにうまく機能するようになると思います.

現時点でも,ある写真について,これは誰それが写っている写真だという事と,その写真の説明を FOAF で記述して登録すれば,誰それの写真の一覧を生成する事ができます.これは複数の FOAF の記述をマージできる訳です.(マージできない情報もあるんですけど.)

ぼくは,FOAF で自己紹介とか知人ネットワークを記述できるという事よりも,画像ファイルに写っている人物について表現するとか,ある文書を作成した人物について記述することなどの応用にこそ,FOAF の本当の価値があると感じます.
FOAF で自己紹介と知人ネットワークを記述しても,それはそれだけです.でも FOAF はそれで終わりではなくて,さまざまな事柄を RDF で記述するときの基本になります.FOAF のすごさとか便利さは,今はまだ具体的にはなにもなくてこれからでしょう.これから先は,まず自己紹介とか知人ネットワークの表現などの分かりやすいところから FoaF Explorerfoafnaut! などの具体的なサービスが出現してきて,さらにいろいろな応用が広がって行くのではないでしょうか.PLINK は,ある人が写っている画像を,複数の RDF ファイルの記述から拾って来れるところなど,新しい可能性を示しているように思います.

@nak(あ)さんの疑問:

FOAFの<foaf:knows>で参照する相手の情報と相手にFOAFがあった場合、記述されてる本人情報の整合性を取るのは参照元の責任なのだろうか、ということ。

引用終わり.

間違った事を書かなければいいんぢゃないのかな.
foaf:knows で誰かの事を記述するときは,あまりいろいろ書かなくて最低限の事で良いと思います. 必須なのは,foaf:mbox_sha1sum です.これが無いと個人の特定ができないから.後は foaf:name か foaf:nick があれば良いと思います.
さらに,Web ページとか Weblog の URI が分かれば,それも書いておけば良いのだと思います.普通のリンク集と同じような感じで良いのでは.
後,相手が FOAF を公開しているなら rdfs:seeAlso でその FOAF を示しておくのが良いでしょう.

整合性がとれないって,例えばぼくが foaf:homepage で指している URI と @nak(あ)さんの知人のおのひろきの foaf:homepage の URI が異なっているとかでしょうか? それがどっちかが間違っているなら間違っているほうは修正するべきでしょうが,実際に 2 つの URI が有効でどちらもおのひろきの Web ページなのであれば,それはそれで良いと思います.

  • foaf:knows の中の foaf:Person で記述する内容のリスト:
    foaf:mbox_sha1sum

    メールアドレスの URI 表記を符号化したもの.必須

    foaf:name

    名前.公開されている名前をそのまま記述すればいいかな.特に Web ページなどで名前を出していないなら foaf:nick でニックネームを使う方が無難ですね.重要

    foaf:nick

    ニックネーム.あれば書けば良い.

    foaf:homepage

    自分が知っている範囲で,その人の Web ページがあれば,その URI を書く.

    foaf:weblog

    自分が知っている範囲で,その人の Weblog があれば,その URI を書く.

    foaf:depiction

    もし,自分の Web サイトにその人の写真があれば.ひとつくらい指定しても良いかも.

    その人が自己紹介をその人の Web サイトで行っていて,そこに写真があれば,それを指定してもいいかも.

    foaf のその他

    その他は特に他人の事についてまで記述する必要はないとおもいます.同じ大学の後輩ですって紹介するなら,foaf:schoolHomepage を記述してもいいかも.

    dc:description

    その人についての説明文.自分からみて,どういう知人なのかの説明を書くのは良いと思います.

簡単には,こんな感じかな:

<foaf:Person foaf:mbox_sha1sum="911143978a8ce9e254485ff4ee93ed5e700ddd74">
     <foaf:name>ONO Hiroki</foaf:name>
     <foaf:knows>
          <foaf:Person foaf:mbox_sha1sum="e90d4299f965569b5eb6260f736f1a7d9c3b6512">
          <foaf:nick>@nak(た)</foaf:nick>
          <rdfs:seeAlso rdf:resource="http://www.atnak.com/foaf.rdf" />
          </foaf:Person>
     </foaf:knows>
</foaf:Person>

ところで http://www.atnak.com/foaf.rdf は,現在は Type が text/plain なんです.これだといくつかの FOAF を扱うサービスがうまく動かなかったりすると思うので,.htaccess なんかで application/xml などに設定した方が良いと思います.

http://onohiroki.cycling.jp/tb/tb.cgi/weblog_d20040111n2 TrackBack

更新情報

[ 上に戻る]