CINXE.COM
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html itemscope="" itemid="" itemtype="http://schema.org/WebPage" xmlns="http://www.w3.org/1999/xhtml" lang="ja"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width" /> <title itemprop="name">FOAF -- メタデータによる知人ネットワークの表現</title> <link itemprop="creator" href="http://purl.org/net/who/kanzaki#masahide" /> <link rel="contents" href="/docs/sw/" /> <link rel="help" href="/info/navi" /> <link rel="copyright" href="/info/disclaimer" /> <link rel="stylesheet" href="/parts/kan01.css" /> <link rel="stylesheet" media="print" href="/parts/print.css" /> <style>table.foaf-vocab {font-family:monospace} .archaic {color:gray}</style> <script src="/parts/std.js"></script> <script src="/parts/sha1.js"></script> </head> <body onload="init()"> <header class="banner" id="banner" role="banner"> <div id="stinfo-navi"> <a href="#s0" id="bnsl"><img src="/parts/univ.gif" alt="すぐ本文へ。" title="各ページ共通のヘッダをスキップする実験です" /></a> <img src="/parts/help.gif" alt="情報の探し方など:" /><a href="/info/navi" title="情報の探し方、移動方法などの説明" accesskey="h">Help</a> <img src="/parts/tri-d.png" alt=" 更新情報など:" title="" /><a href="#stinfo" id="snavi" title="このページの更新情報など">Status info</a> <!--eoi(stinfo-navi)--></div> <a href="/"><img src="/parts/logo.png" id="twk-logo" alt="The Web KANZAKI " title="サイトの表紙ページへ" /></a> <span class="tagline">music & knowledge sharing </span> </header> <div id="s0" class="main" role="main"> <h1><img src="/parts/foaf-l.gif" alt="FOAF:" />メタデータによる知人ネットワークの表現</h1> <div class="lead"> <p class="abstract" itemprop="http://purl.org/dc/terms/abstract"><abbr title="Friend of a Friend">FOAF</abbr>はRDF/XMLを使って人々に関する情報(メタデータ)とそのつながりを公開、共有するための半ば実用的、半ば実験(少し遊び)的なプロジェクトです。FOAFを使ってマシンにも扱える自己紹介を記述したり、人や組織、関心領域のネットワーク情報をエージェントに処理させるといった応用が試みられており、<abbr title="RDF Site Summary">RSS</abbr>との関連でウェブログなどでも注目され始めています。</p> <ul class="toc" itemprop="http://purl.org/dc/terms/tableOfContents"> <li><a href="#foaf-explained">FOAFとは</a></li> <li><a href="#foaf-pinfo">FOAFを使った人物情報の記述</a></li> <li><a href="#foaf-reldesc">知人の記述によるメタデータの連鎖</a></li> <li><a href="#vocab">FOAFの語彙一覧</a></li> <li><a href="#trust">FOAFと情報の信頼性</a></li> <li><a href="#publish">FOAFの作成と公開</a> - まず試してみたい人はこちら</li> <li><a href="#reference">参考文献</a></li> </ul> <!-- <p>FOAFの記述で注意しておきたいポイント:</p> <ul> <li><a href="#note-mbox">mboxはmailto:でURIとして。共有アドレスは不可</a></li> <li><a href="#foaf-know-multi">複数の知人を示すときはそれぞれfoaf:knowsを</a></li> <li><a href="#note-resource">foaf:interest、foaf:currentProjectなどの目的語はリソースです</a></li> </ul> --> <p class="note">※『<a href="/book/rdf/">RDF/OWL入門</a>』、『<a href="/book/shx/" itemprop="related">セマンティックHTML/XHTML</a>』を上梓しました。</p> </div> <section> <h2 id="foaf-explained">FOAFとは</h2> <p><dfn>FOAF</dfn> (Friend of a Friend)とは、その名のとおり友達の友達の友達…という連鎖をメタデータとして表現することで、ネットワーク上の興味深い属性や関係を、エージェントを用いて分析できるようにする試みです<a href="#ref-foaf-proj">[FOAF-PROJ]</a>。これは、<a href="rdf-model.html">RDF</a>の可能性を追求しようという実験<a href="#ref-rdfweb">[RDFWeb]</a>の基本ツールとして生まれたもの。ベースは人とそのつながりを表現する仕組みですが、それぞれの人の写真や関心、所属組織といった属性情報を合わせて記述していくことで、人を媒介に世の中の様々なものごとの相互関連を辿り、分析したり表現したりするという応用を目指しています。</p> <p>FOAFは、名前、関心領域、ホームページなどといった、人を描写するための様々な語彙を定義しています。これらは、RDFWebの様々なプロジェクトで用いられているだけでなく、人間系の情報を記述する共通語彙として、<a href="rss.html">RSS</a>などのほかのRDF/XMLデータで利用することも可能です。また、個人の情報を扱うFOAFは、情報の信頼性や電子署名といった面での検討も行われており、セマンティック・ウェブの実現に不可欠な「信頼性のウェブ」の興味深い実験の場でもあります。</p> <p class="aux"><span class="c">〔補足〕</span>スタンレー・ミルグラムの1967年の研究<a href="#ref-milgram">[MILGRAM]</a>によれば、平均6人の知人を辿れば、米国内の未知の人がつながってしまうというわけですから、「友達の友達」は思っている以上に強力なネットワークかも知れません(<a href="#ref-kleinberg">[KLEINBERG]</a>や<a href="#ref-mayfield">[MAYFIELD]</a>も参照)。</p> <!--eos(2)--></section> <section> <h2 id="foaf-pinfo">FOAFを使った人物情報の記述</h2> <p>FOAFはごく普通の<a href="rdf-xml.html">RDF/XML</a>を用いて人の情報を表現します。対象となる人物を<dfn>foaf:Person</dfn>という要素で表し、その名前、所属といった属性をプロパティ要素としてサンドイッチ型に記述していくだけです。</p> <section> <h3 id="foaf-id">メールボックスによる個人の識別</h3> <p>通常の<a href="rdf-model.html">RDF</a>では、記述するリソースを識別するためにrdf:about(あるいはrdf:ID属性)で主語を指定しますが、人物をグローバルに特定できる一般的なURIは今のところ存在しません。そこで、FOAFではfoaf:Personのプロパティとしてそのメールアドレスである<dfn>foaf:mbox</dfn>を記述し、このURIによって人物を特定するという方法をとっています。</p> <div class="example"> <p class="ex-label" id="ex1">[例1]</p> <pre><rdf:RDF <a href="#def-ns" title="省略した名前空間宣言の詳細">...</a>> <<code class="attn">foaf:Person</code>> <<code class="attn">foaf:mbox</code> rdf:resource="mailto:webmaster@kanzaki.com"/> <foaf:name>神崎正英</foaf:name> <foaf:homepage rdf:resource="http://www.kanzaki.com/"/> </foaf:Person> </rdf:RDF> </pre> </div> <p>この例では、「webmaster@kanzaki.comというメールアドレスを持つ人物は、氏名が神崎正英で、ホームページをhttp://www.kanzaki.com/に持っている」という情報がFOAFの語彙によって記述されています。</p> <p><img src="foaf-simple.gif" alt="(図)rdf:typeがfoaf:Personである匿名ノードから、foaf:name, foaf:homepage, foaf:mboxという3つのアークが伸びる" title="FOAFは、foaf:Person型の匿名ノードから、各プロパティのアークが伸びるモデルとなる" width="388" height="178" /></p> <p>ここで大切なのは、webmaster@kanzaki.comという<strong>メールアドレスによってこの人物が唯一に特定できる</strong>ということです。このように、その値によって主語を特定できるプロパティは<a href="webont-owl.html#owl-property-elt">Inverse Functional Property</a>(逆関数プロパティ=<dfn>IFP</dfn>)と呼ばれ、一種のIDのような働きをします。<a id="note-mbox"><img src="/parts/warn.gif" alt="〔注意〕" /></a>したがって、foaf:mboxには、家族で共有しているようなメールボックスを使うことはできません。また、この値はURIとして記述するので、単なるメールアドレスではなく、<code>mailto:</code>を最初に加えなければならない点にも注意してください。</p> <p>FOAFでは、メールボックス(foaf:mbox)、名前(foaf:name)、ホームページ(foaf:homepage)以外にも人物を表現するためのさまざまなプロパティが定義されており、これらを用いてエージェントが処理可能な自己紹介ドキュメントを作成することができます。具体的なプロパティは、後ほど「<a href="#vocab">FOAFの語彙一覧</a>」として紹介します。</p> <!--eos(3)--></section> <section> <h3 id="homepage-ifp">IFPとしてのホームページ</h3> <p>その人だけが持っているURIという意味では、ホームページ(<code>foaf:homepage</code>)やウェブログ(<code>foaf:weblog</code>)のURIも同じことですから、これらもIFPとして用いることができます。実際、メールアドレスは不用意に公開するとSPAMの標的になるなの問題があります(メールボックスURIをハッシュ化する<a href="#mbox-sha1">foaf:mbox_sha1sum</a>という方法も考えられました)が、ホームページなら公開することが前提なので、IDとしてより利用しやすいURIといえます。</p> <!--eos(3)--></section> <!--eos(2)--></section> <section> <h2 id="foaf-reldesc">知人の記述によるメタデータの連鎖</h2> <p>FOAFのプロパティの中でももっとも特徴的なのが<dfn>foaf:knows</dfn>です。「知人」という関係で、人々(foaf:Person)をつないでいきます。まさにfriend of a friendです。</p> <div class="example"> <p class="ex-label" id="ex3">[例3]</p> <pre><rdf:RDF <a href="#def-ns" title="省略した名前空間宣言の詳細">...</a>> <foaf:Person> <foaf:homepage rdf:resource="http://www.kanzaki.com/"/> <code class="attn"><foaf:knows></code> <foaf:Person> <foaf:homepage rdf:resource="http://example.org/person_b/"/> <foaf:name>(知人の名前)</foaf:name> </foaf:Person> </foaf:knows> </foaf:Person> </rdf:RDF> </pre> </div> <p>ここでは、「http://www.kanzaki.com/というホームページを持つ人物(A)は、http://example.org/person_b/というホームページをもつ人物(B)を知っている」ということが述べられ、両者が知人の関係であることが示されます。人物(B)のFOAFに、同じような形で人物(C)を知っていることが記述されていれば、エージェントは収集してきたFOAFのデータから、A-B-Cという知人関係を理解することができ、知人のネットワークを描いてみせることができるようになります。</p> <div class="aux"> <p><span class="c">〔補足〕</span>foaf:knowsは、相互に知り合いであることは<ins>示しません</ins>。<del>つまり、A foaf:knows B ⇔ B foaf:knows A が成り立つ、対称型のプロパティです(オントロジーでは、こういう性質を持つプロパティをSymmetricPropertyと呼んでいます)。</del></p> <p id="foaf-p-security"><img src="/parts/warn.gif" alt="〔個人情報に関する補足〕" />foaf:knowsは他の人の情報を公開するものであるということは、きちんと認識しておきましょう。断り無く氏名などを公開されるのは嬉しくない人もいるかも知れません(ただしFOAFでは、メールボックスあるいはそのSHA1ハッシュで識別できれば、<a href="#foaf-nick">ニックネーム</a>だけでもOK)。また、交友関係を公にされたくない場合もあるかも知れません。(X)HTMLで知人のホームページにリンクするのと同様の配慮があればよいと思いますが、エージェントが自動的に収集できるメタデータの場合、こうした関連情報は思わぬ影響を及ぼすことがあります。<a href="#trust">FOAFと情報の信頼性</a>のセクション、およびrdfwebメーリングリストの<a href="#ref-turner">[Turner]</a>から始まるスレッドも参照してください。</p> </div> <section> <h3 id="foaf-seealso">知人のFOAFファイルはどこ?</h3> <p><a href="#ex3">[例3]</a>のFOAFデータだけでは、エージェントは人物(B)のFOAFファイルがどこにあるかを知ることはできず、A-Bから先の知人ネットワークを把握することはできません。FOAFの仕組みでは、この人物(B)のFOAFファイルを示す手段として、<a href="rdf-schema.html">RDFスキーマ</a>のプロパティである<dfn>rdfs:seeAlso</dfn>を用います。</p> <div class="example"> <p class="ex-label" id="ex4">[例4]</p> <pre><rdf:RDF <a href="#def-ns" title="省略した名前空間宣言の詳細">...</a>> <foaf:Person> <foaf:homepage rdf:resource="http://www.kanzaki.com/"/> <foaf:knows> <foaf:Person> <foaf:homepage rdf:resource="http://example.org/person_b/"/> <<code class="attn">rdfs:seeAlso</code> rdf:resource="http://example.org/person_b/foaf.rdf"/> </foaf:Person> </foaf:knows> </foaf:Person> </rdf:RDF> </pre> </div> <p>このrdfs:seeAlsoの値によって、エージェントは人物(B)のFOAFファイルのURIを知ることができます(少なくとも、RDFを理解できるエージェントなら、そこに関連する情報があることは分かります)。人物(B)のFOAFファイルで、人物(C)のFOAFをrdfs:seeAlsoで示していれば、さらにその先のネットワークを辿っていくことができるわけです。rdfs:seeAlsoは、FOAFにおける“ハイパーリンク機能”と考えてもよいでしょう。</p> <!--eos(3)--></section> <section> <h3 id="person-uri">もっとシンプルな方法―FOAFを人のURIにする</h3> <p>IFPを用いたりseeAlsoでFOAFファイルを別途指定するのは、人を表すURIがなく、FOAFファイルのURIは人のURIとは全く別であることから来ているわけですが、FOAFファイル内のPersonにIDを与えておけば、FOAFのURI+'#'+IDというURIでその人を識別できるようになります。</p> <div class="example"> <p class="ex-label" id="ex4b">[例4b]</p> <pre><rdf:RDF ...> <foaf:Person <code class="attn">rdf:ID="me"</code>> <foaf:homepage rdf:resource="http://www.kanzaki.com/"/> <foaf:knows> <foaf:Person <code class="attn">rdf:about="http://example.org/person_b/foaf.rdf#me"</code>/> </foaf:knows> </foaf:Person> </rdf:RDF> </pre> </div> <p>このURIによって、人物が識別できると同時にそのFOAFファイルをも取得できます(フラグメント識別子は、リソース取得時には切り落とされます)。URI(特にhttp:スキームの場合)の持つ、「識別」と「リソースの取得」という2つの側面を利用した、扱いやすい人物URIというわけです。</p> <!--eos(3)--></section> <!--eos(2)--></section> <section> <h2 id="vocab">FOAFの語彙一覧</h2> <p>FOAFでは、人物とそのつながりを表現するために、(遊び半分みたいなものも含め)さまざまな語彙が定義されています。FOAFの語彙定義文書<a href="#ref-foaf-vocab">[FOAF-VOCAB]</a>において示されている語彙を、いくつかのグループに分けて紹介してみましょう。よく使われているプロパティとしては、これまでの例でとりあげた以外では、foaf:nick 、foaf:depiction、foaf:interest、foaf:schoolHomepageなどがあります。</p> <section> <h3 id="foaf-class">FOAFの基本クラス</h3> <p>FOAFで記述する対称(リソース)のタイプとして、次の基本クラスが定められています。<code>foaf:Person</code>以外は、FOAF文書で直接使うことはほとんどありませんでしたが、FOAFの応用範囲が拡がるにつれ、さまざまなリソースを記述するためにほかのクラスも用いられはじめました。(2005-07の改訂で、FOAFのクラスは全てowl:Classとして定義されました)</p> <table class="foaf-vocab"> <caption>FOAFで定義されている基本クラス一覧</caption> <thead> <tr><th>Class name</th><th>comment</th></tr> </thead> <tbody> <tr itemid="http://xmlns.com/foaf/0.1/Agent" itemscope="" itemtype="http://www.w3.org/2000/01/rdf-schema#Class"> <td>foaf:Agent</td> <td itemprop="comment">エージェント(人間、グループ、ソフトウェア、人工物など)</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/Person" itemscope="" itemtype="http://www.w3.org/2000/01/rdf-schema#Class"> <td>foaf:Person</td> <td itemprop="comment">人物。存命中、故人、あるいは想像上の人物であっても、「人」ならばこのクラスメンバーとしてよい。foaf:Agentのサブクラス</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/Organization" itemscope="" itemtype="http://www.w3.org/2000/01/rdf-schema#Class"> <td>foaf:Organization</td> <td itemprop="comment">組織。会社、協会など、社会的なfoaf:Agentをあらわす</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/Group" itemscope="" itemtype="http://www.w3.org/2000/01/rdf-schema#Class"> <td>foaf:Group</td> <td itemprop="comment">グループ。個々のfoaf:Agentの集合体で、それ自身もfoaf:Agentとみなすことができる</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/Project" itemscope="" itemtype="http://www.w3.org/2000/01/rdf-schema#Class"> <td>foaf:Project</td> <td itemprop="comment">プロジェクト。公式なプロジェクトであっても、個人的なものでもよい</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/Document" itemscope="" itemtype="http://www.w3.org/2000/01/rdf-schema#Class"> <td>foaf:Document</td> <td itemprop="comment">文書。広い意味での文書で、画像(foaf:Image)も文書のサブクラスとして捉える</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/Image" itemscope="" itemtype="http://www.w3.org/2000/01/rdf-schema#Class"> <td>foaf:Image</td> <td itemprop="comment">画像(ファイル)。foaf:Documentのサブクラスとしての画像で、JPEG、PNG、SVGなどのデジタル画像、写真が代表的</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/PersonalProfileDocument" itemscope="" itemtype="http://www.w3.org/2000/01/rdf-schema#Class"> <td>foaf:PersonalProfileDocument</td> <td itemprop="comment">ある人物が自分自身について記述するRDF文書。つまり、その文書の作者(foaf:maker)と主内容(foaf:primaryTopic)の両方が同じである文書で、FOAF文書がその代表例</td></tr> </tbody> </table> <p>foaf:Group, foaf:Agentは2003年7月に追加されたクラス。foaf:Agentはfoaf:Pesron, foaf:Organization, foaf:Groupのスーパークラスになっています。foaf:PersonalProfileDocumentは2004年3月に追加されました。</p> <!-- 2010-08-09 foaf:Personはfoaf:Documentと排他でない?--> <table class="foaf-vocab"> <caption>追加定義されたアカウント関連クラス</caption> <thead> <tr><th>Class name</th><th>comment</th></tr> </thead> <tbody> <tr itemid="http://xmlns.com/foaf/0.1/OnlineAccount" itemscope="" itemtype="http://www.w3.org/2000/01/rdf-schema#Class"> <td>foaf:OnlineAccount</td> <td itemprop="comment">オンライン・アカウント一般。ある提供者によってある利用者(foaf:Agent)が受けるオンラインサービスを規定するもの</td> </tr> <tr itemid="http://xmlns.com/foaf/0.1/OnlineGamingAccount" itemscope="" itemtype="http://www.w3.org/2000/01/rdf-schema#Class"> <td>foaf:OnlineGamingAccount</td> <td itemprop="comment">オンラインゲームのアカウント。OnlineAccountのサブクラス</td> </tr> <tr itemid="http://xmlns.com/foaf/0.1/OnlineEcommerceAccount" itemscope="" itemtype="http://www.w3.org/2000/01/rdf-schema#Class"> <td>foaf:OnlineEcommerceAccount</td> <td itemprop="comment">オンラインショップなどのアカウント。OnlineAccountのサブクラス</td> </tr> <tr itemid="http://xmlns.com/foaf/0.1/OnlineChatAccount" itemscope="" itemtype="http://www.w3.org/2000/01/rdf-schema#Class"> <td>foaf:OnlineChatAccount</td> <td itemprop="comment">オンラインチャットのアカウント。OnlineAccountのサブクラス</td> </tr> </tbody> </table> <p>2003-08-16にオンライン・アカウントを表現するためのクラスが追加されました。</p> <!--eos(3)--></section> <section> <h3 id="foaf-pid-prop">個人を特定、識別するプロパティ</h3> <p>FOAFは基本的に人物についてのメタデータを表現する語彙ですから、まずその人物が誰であるかを示すプロパティが必要です。<dfn>foaf:mbox</dfn>(およびその暗号化版である<dfn>foaf:mbox_sha1sum</dfn>)は、オントロジーでいう<a href="webont-owl.html#owl-property-elt">InverseFunctionalProperty</a>で、この値から主語である人物を一意に特定できるIDの役割を持ちます。</p> <table class="foaf-vocab"> <caption>FOAFのID/名前付けプロパティ一覧</caption> <thead> <tr><th>Property name</th><th>comment</th><th>domain</th><th>range</th><th>type</th></tr> </thead> <tbody> <tr itemid="http://xmlns.com/foaf/0.1/mbox" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:mbox</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">特定の所有者に結び付けられたインターネットメールボックスで、IDとして機能する。家族などと共有していないことはもちろん、将来にわたっても別の人が利用することのないアカウント。mailto:で始めるURI</td><td>foaf:Agent</td><td>owl:Thing</td><td>OI</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/mbox_sha1sum" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:mbox_sha1sum</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">この人のメールボックスのSHA1ハッシュ値。IDとして機能する。こちらはリテラル</td><td>foaf:Agent</td><td>rdfs:Literal</td><td>D</td></tr> </tbody> <tbody> <tr itemid="http://xmlns.com/foaf/0.1/name" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:name</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">名前(人に限らず使える)</td><td>owl:Thing</td><td>rdfs:Literal</td><td>D</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/givenName" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:givenName</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">姓名の「名」。foaf:firstNameと同じ</td><td>-</td><td>-</td><td>D</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/familyName" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:familyName</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">姓名の「姓」。foaf:surnameと同じ</td><td>foaf:Person</td><td>rdfs:Literal</td><td>D</td></tr> <tr class="archaic" itemid="http://xmlns.com/foaf/0.1/firstName" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:firstName</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">姓名の「名」</td><td>foaf:Person</td><td>rdfs:Literal</td><td>D</td></tr> <tr class="archaic" itemid="http://xmlns.com/foaf/0.1/surname" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:surname</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">姓名の「姓」。名字</td><td>foaf:Person</td><td>rdfs:Literal</td><td>D</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/nick" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td id="foaf-nick">foaf:nick</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">ニックネーム。IRCやオンラインサービスでの「ハンドル名」やログイン名など</td><td>-</td><td>-</td><td>D</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/title" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:title</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">敬称(Mr, Mrs, Ms, Dr. etc)</td><td>-</td><td>-</td><td>D</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/gender" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:gender</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">性別。通常の値はmaleもしくはfemaleではあるものの、それには限定されない。また、性別が常に生物学的に決まるとも限らない(ロボットに性別を与えても構わない)。ある一時点では主語Agentは1つのfoaf:genderの値しか持つことができないが、恒久的に同じ値という制約はない</td><td>foaf:Agent</td><td>rdfs:Literal</td><td>DF</td></tr> </tbody> <tbody> <tr itemid="http://xmlns.com/foaf/0.1/aimChatID" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:aimChatID</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment"><abbr title="AOL Instant Message">AIM</abbr>チャットのID</td><td>foaf:Agent</td><td>rdfs:Literal</td><td>DI</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/msnChatID" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:msnChatID</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment"><abbr title="Microsoft Network">MSN</abbr>チャットのID</td><td>foaf:Agent</td><td>rdfs:Literal</td><td>DI</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/jabberID" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:jabberID</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">XMLプロトコル(<abbr title="Extensible Messaging and Presence Protocol">XMPP</abbr>)を使ったオープン<abbr title="Instant Message">IM</abbr>システム<a href="#ref-jabber">[Jabber]</a>のID</td><td>foaf:Agent</td><td>rdfs:Literal</td><td>DI</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/icqChatID" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:icqChatID</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">ICQチャットのID</td><td>foaf:Agent</td><td>rdfs:Literal</td><td>DI</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/yahooChatID" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:yahooChatID</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">yahoo!チャットのID</td><td>foaf:Agent</td><td>rdfs:Literal</td><td>DI</td></tr> </tbody> </table> <p>type欄の<code>O</code>、<code>D</code>、<code>F</code>、<code>I</code>はそれぞれ<code>owl:ObjectoProperty</code>、<code>owl:DatatypeProperty</code>、<code>owl:FunctionalProperty</code>、<code>owl:InverseFunctionalProperty</code>であることを表します。</p> <p><code>foaf:mbox</code>は要するにメールアドレスですが、最初に<code>mailto:</code>を加え、<strong>URIをrdf:resource属性値として</strong>示さなければなりません。それ以外のプロパティの目的語は、基本的に<strong>リテラルとしてプロパティ要素の内容に</strong>なります。</p> <p id="note-name"><img src="/parts/warn.gif" alt="〔注意〕" />FOAFにおいてfoaf:nameは必須ではありませんので、本名を伏せたい時は、foaf:nickのみにしておく手もあります(foaf:nameの使い方に厳密な制約はありませんが、これをfoaf:nickと混用しない方がいいように思います)。なお、英文と漢字など複数の表記がある場合は、それらを併記し、<code>xml:lang</code>で区別するのが良さそうです。名前に関しては、言語によって姓名の順序や構成要素が異なるなど話が複雑なので、いろいろな議論のテーマになっています<a href="#ref-foaf-name">[FOAF-NAME]</a>。</p> <p>2003年7月6日付のスキーマでは、<code>foaf:aimChatID</code>、<code>foaf:msnChatID</code>、<code>foaf:jabberID</code>、<code>foaf:icqChatID</code>、<code>foaf:yahooChatID</code>は<code>foaf:nick</code>のサブプロパティと定義されました(さらにInverseFunctionalPropertyでもあります)。また、<code>foaf:name</code>は<code>rdfs:label</code>のサブクラスになっています。</p> <p>2003年9月11日付でfoaf:genderプロパティが追加されました。一応人間の男女(male,female)を念頭に置いていますが、ロボットに性別を与えてもいいし、男女以外の性別もあり得ると、リベラルな立場に立っています。functionalPropertyとして定義されているので、複数の性別を持つことはできません。</p> <p>2009年12月15日付スキーマ改訂で、foaf:family_name、foaf:givennameは"archaic"とされ、それぞれfoaf:familyName、foaf:givenNameに置き換えられました。</p> <!--eos(3)--></section> <section> <h3 id="foaf-desc-prop">個人を直接記述するプロパティ</h3> <p>人となりを示すために、いくつかのプロパティが用意されています。写真は<code>foaf:img</code>よりも<a href="#foaf-depiction">foaf:depiction</a>を使って示すことが多いようです(<code>foaf:img</code>は<code>foaf:depiction</code>のサブプロパティ)。<code>foaf:myersBriggs</code>は比較的最近追加されたプロパティ。<code>foaf:geekcode</code>なんて、すごいもの定義してますねー。</p> <table class="foaf-vocab"> <caption>FOAFの人物描写プロパティ一覧</caption> <thead> <tr><th>Property name</th><th>comment</th><th>domain</th><th>range</th><th>type</th></tr> </thead> <tbody> <tr itemid="http://xmlns.com/foaf/0.1/img" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:img</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">この人を示す(ホームページで使うような)画像。foaf:depictionの方が一般的</td><td>foaf:Person</td><td>foaf:Image</td><td>O</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/myersBriggs" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:myersBriggs</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">この人のMyers Briggs (MBTI)による性格分類コード</td><td>foaf:Person</td><td>rdfs:Literal</td><td>D</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/geekcode" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:geekcode</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">この人の<a href="#ref-geekcode">[GEEKCODE]</a></td><td>foaf:Person</td><td>rdfs:Literal</td><td>D</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/plan" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:plan</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">この人の'プラン'。UNIXのfingerで使う'.plan'ファイルに準じているらしいので、計画というよりモットーみたいなものか。ほら、よくメールの署名のあとにひとこと書いてる人がいるでしょ。</td><td>foaf:Person</td><td>rdfs:Literal</td><td>D</td></tr> </tbody> </table> <!--eos(3)--></section> <section> <h3 id="foaf-rel-prop">個人を別の人やリソースとの関係で描写するプロパティ</h3> <p>人物を描写するプロパティの中でも、ほかのリソース(人)との関連を示すプロパティは、連鎖的な記述で世界をつないでいくRDFの力を発揮します。特に<dfn>foaf:knows</dfn>は、まさにFOAFのfoafたる所以です。</p> <table class="foaf-vocab"> <caption>FOAFの関連リソース描写プロパティ一覧</caption> <thead> <tr><th>Property name</th><th>comment</th><th>domain</th><th>range</th><th>type</th></tr> </thead> <tbody> <tr itemid="http://xmlns.com/foaf/0.1/knows" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:knows</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">この人を知っている(相互に知り合っているレベル)</td><td>foaf:Person</td><td>foaf:Person</td><td>O</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/interest" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:interest</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">この人が関心を持っていることに関するページ</td><td>foaf:Agent</td><td>foaf:Document</td><td>O</td></tr><!--domain変更2010-08-09--> <tr itemid="http://xmlns.com/foaf/0.1/topic_interest" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:topic_interest</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">この人が関心を持っているトピック</td><td>foaf:Agent</td><td>owl:Thing</td><td>O</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/publications" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:publications</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">この人の出版、発表物一覧へのリンク</td><td>foaf:Person</td><td>foaf:Document</td><td>O</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/made" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td id="foaf-made">foaf:made</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">この人が作ったもの。<a href="#foaf-maker">foaf:maker</a>の逆</td><td>foaf:Agent</td><td>owl:Thing</td><td>O</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/schoolHomepage" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:schoolHomepage</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">この人の母校のホームページ</td><td>foaf:Person</td><td>foaf:Document</td><td>O</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/workplaceHomepage" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:workplaceHomepage</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">この人の勤務先のホームページ</td><td>foaf:Person</td><td>foaf:Document</td><td>O</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/workInfoHomepage" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:workInfoHomepage</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">この人の仕事の内容を説明しているホームページ</td><td>foaf:Person</td><td>foaf:Document</td><td>O</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/currentProject" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:currentProject</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">この人が現在手がけているプロジェクト(のページ)</td><td>foaf:Person</td><td>owl:Thing</td><td>O</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/pastProject" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:pastProject</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">この人が以前手がけたプロジェクト(のページ)</td><td>foaf:Person</td><td>owl:Thing</td><td>O</td></tr> </tbody> </table> <section> <h4 id="note-resource">注意:目的語はURIで名付けられたリソースです</h4> <p>このセクション以降のプロパティはObjectProperty(目的語がURIで名付けられたリソース)となるので、<strong>URIを<code>rdf:resource</code>属性値として記述</strong>するか、<strong>プロパティ要素の内容にノードとなる要素(<code>foaf:Person</code>など)を記述</strong>します。たとえば、<code>foaf:interest</code>プロパティで関心のある事柄を示す場合、次のように書きたくなるかも知れません。</p> <div class="badexample"> <p class="ex-label" id="ex6-1">[例6-1](正しくない例)</p> <pre><foaf:Person> <foaf:interest>Semantic Web</foaf:interest> </foaf:Person> </pre> </div> <p>しかし、残念ながらこれは誤り。<code>foaf:interest</code>は値域(range)が<code>foaf:Document</code>なので、オンライン文書(通常はその関心事項が説明されているウェブページ)のURIを<code>rdf:resource</code>属性値として書く必要があります。</p> <div class="example"> <p class="ex-label" id="ex6-2">[例6-2]</p> <pre><foaf:Person> <foaf:interest <code class="attn">rdf:resource</code>="http://www.w3.org/2001/sw/"/> </foaf:Person> </pre> </div> <p>これは<code>foaf:currentProject</code>、<code>foaf:made</code>などでも同様です。エージェントが人間向けにレンダリングする時のためには、<dfn>rdfs:label</dfn>あるいは<dfn>dc:title</dfn>といった属性で'Semantic Web'というタイトルを加えておいてもいいでしょう。</p> <!--eos(4)--></section> <!--eos(3)--></section> <section> <h3 id="foaf-pgen-prop">その他人物描写で使われるプロパティ</h3> <p>FOAFプロパティの中には、描写対象(domain)を人物に限っていない一般語彙がいくつかありますが、その中で人物表現によく使われるものをまとめました。<code>foaf:homepage</code>、<code>foaf:depiction</code>は多くのFOAFファイルで利用されていると思います。</p> <table class="foaf-vocab"> <caption>FOAFの人物描写に使えるその他プロパティ一覧</caption> <thead> <tr><th>Property name</th><th>comment</th><th>domain</th><th>range</th><th>type</th></tr> </thead> <tbody> <tr itemid="http://xmlns.com/foaf/0.1/homepage" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:homepage</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">ホームページがある。pageおよびisPrimaryTopicOfのサブプロパティ</td><td>owl:Thing</td><td>foaf:Document</td><td>OI</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/weblog" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:weblog</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">ウェブログがある。pageのサブプロパティ</td><td>foaf:Agent</td><td>foaf:Document</td><td>OI</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/depiction" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td id="foaf-depiction">foaf:depiction</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">対象を描いたもの。写真やイラストなど</td><td>owl:Thing</td><td>foaf:Image</td><td>O</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/tipjar" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td id="foaf-tipjar">foaf:tipjar</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">この人物に対して支払いやお礼をする方法を記述したページ。pageのサブプロパティ</td><td>foaf:Agent</td><td>foaf:Document</td><td>O</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/phone" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:phone</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">国際識別コードからフルに記述した電話番号のURI。tel:+81-3-3210-1234 など</td><td>-</td><td>-</td><td>O</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/based_near" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:based_near</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">○○の近くにいる(ある)ことを示そうという実験的プロパティ</td><td>geo:SpatialThing</td><td>geo:SpatialThing</td><td>O</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/birthday" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:birthday</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">主語の誕生日。月日のみをmm-ddの形式で記述する。</td><td>foaf:Agent</td><td>rdfs:Literal</td><td>DF</td></tr> </tbody> </table> <p>これらはdomainが人間に限られていないので、会社のホームページとか、会議の様子を写した写真といったものを記述する時にも利用できます。foaf:homepageの定義域は、owl:Thingに拡大されて、基本的に何でも主語にできます。</p> <p>2003年6月22日付のスキーマでは、<code>foaf:homepage</code>、<code>foaf:weblog</code>も<code>foaf:mbox</code>と同様InverseFunctionalPropertyであると定義されました。つまり、これらもある人物を特定するIDとして機能するもので、家族のホームページとか、グループで共同で書き込んでいるウェブログなどは、このプロパティの値としてはふさわしくないということになります。</p> <p>2004年3月に、paypal等の「投げ銭」をするためのページを示す<code>foaf:tipjar</code>が追加されました。このプロパティについては<a href="/memo/2004/02/13-1">2004-02-13の「ちょっとしたメモ」</a>を参照してください。</p> <p>2005年3月の議論を踏まえてfoaf:birthdayが加わりました。これまでの経緯を含めた議論のまとめは<a href="http://rdfweb.org/topic/BirthdayIssue">WikiのBirthdayIssueページ</a>を参照してください。</p> <section> <h4 id="foaf-geo">FOAFと位置情報</h4> <p>2003年7月には<code>foaf:based_near</code>というプロパティが追加されました。これは位置メタデータを加えることで、FOAFと現実世界を物理的に結びつけてみる試みです。based_nearについては、<a href="geoinfo.html#geo-foaf">位置に関するメタデータとその応用</a>のページの説明を参照してください。</p> <!--eos(4)--></section> <!--eos(3)--></section> <section> <h3 id="foaf-general-prop">その他リソース一般を記述するプロパティ</h3> <p>その他、人物描写に使った文書、組織、画像などのリソースをより詳しく説明するためのプロパティがいくつか定義されています。</p> <table class="foaf-vocab"> <caption>FOAFの一般リソース記述プロパティ一覧</caption> <thead> <tr><th>Property name</th><th>comment</th><th>domain</th><th>range</th><th>type</th></tr> </thead> <tbody> <tr itemid="http://xmlns.com/foaf/0.1/page" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:page</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">主語リソースに関するページ、文書</td><td>owl:Thing</td><td>foaf:Document</td><td>O</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/topic" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td id="foaf-topic">foaf:topic</td> <td>主語ページ、文書のトピック(foaf:pageの逆)</td><td>foaf:Document</td><td>owl:Thing</td><td>O</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/primaryTopic" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:primaryTopic</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">主語ページ、文書のメインとなるトピック。1つしか持つことができないFunctionlProperty</td><td>foaf:Document</td><td>owl:Thing</td><td>OF</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/isPrimaryTopicOf" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:isPrimaryTopicOf</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">主語が目的語ページ、文書のメイントピックである。primaryTopicの逆でIFP。pageのサブプロパティでもある</td><td>owl:Thing</td><td>foaf:Document</td><td>OI</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/focus" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:focus</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">主題件名などの「概念」に対応する実体。</td><td>skos:Concept</td><td>owl:Thing</td><td>O</td></tr> <tr class="archaic" itemid="http://xmlns.com/foaf/0.1/theme" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:theme</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">あるリソースのテーマ</td><td>owl:Thing</td><td>owl:Thing</td><td>O</td></tr> <tr class="deprecated"> <td><del>foaf:linkedWith</del></td> <td><del>一般的なリンク</del></td><td>owl:Thing</td><td>owl:Thing</td><td>O</td></tr> <tr class="archaic" itemid="http://xmlns.com/foaf/0.1/fundedBy" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:fundedBy</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">プロジェクトあるいは人物に資金を提供している組織</td><td>owl:Thing</td><td>owl:Thing</td><td>O</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/maker" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td id="foaf-maker">foaf:maker</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">このリソースを作った人、グループなど。<a href="#foaf-made">foaf:made</a>の逆で、dc:creatorに代わって構造化リソースとしての作者を記述する</td><td>owl:Thing</td><td>foaf:Agent</td><td>O</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/logo" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:logo</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">ロゴマーク</td><td>owl:Thing</td><td>owl:Thing</td><td>OI</td></tr><!--IFP追加201-08-09--> <tr itemid="http://xmlns.com/foaf/0.1/depicts" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:depicts</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">この画像が描写しているもの。<a href="#foaf-depiction">foaf:depiction</a>の逆</td><td>foaf:Image</td><td>owl:Thing</td><td>O</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/thumbnail" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:thumbnail</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">画像のサムネイル</td><td>foaf:Image</td><td>foaf:Image</td><td>O</td></tr> <tr itemid="http://xmlns.com/foaf/0.1/sha1" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:sha1</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">ドキュメントのSHA1ハッシュの16進数値(リテラル)</td><td>foaf:Document</td><td>-</td><td>D</td></tr> <tr class="archaic" itemid="http://xmlns.com/foaf/0.1/dnaChecksum" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:dnaChecksum</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">何かのDNAのチェックサム(ジョークですが、人を特定するIDというのは、あまり歓迎できない手段も含めさまざまあることを示唆しています)</td><td>-</td><td>rdfs:Literal</td><td>D</td></tr> </tbody> </table> <p><code>foaf:page</code>と<code>foaf:topic</code>はちょうど逆の関係にあたります。これらを使うと、ある画像を含むウェブページ、あるいはギャラリーページで取り上げている画像といった関係で<a href="image-rdf.html">画像のメタデータを記述</a>し、文書と関連づけることができます。</p> <p>2004年3月にはfoaf:primatyTopicが追加され、同時に加わったクラスfoaf:PersonalProfileDocumentとfoaf:makerを組み合わせてFOAFが誰について記述しているのかを示すことができるようになりました。これについては<a href="/memo/2004/02/06-1">ちょっとしたメモ「FOAFのprimaryTopicとPersonalProfileDocument」</a>を参照してください。</p> <p><a href="http://id.ndl.go.jp/auth/ndlsh" title="国立国会図書館件名標目表">NDLSH</a>のような主題件名は、その名前(件名)を持つ実体を直接表すのではなく、それを件名標目表などの体系の中で表現するための「概念化」として捉えられます。この主題概念と実体を結びつけるfoaf:focusが、2010年8月の改訂で導入されました。</p> <section> <h4 id="maker-creator">foaf:makerとdc:creator</h4> <p>ドキュメントなどの作者を示すためには<code>dc:creator</code>プロパティが広く使われていますが、これが単に作者の名前(文字列)だけを示すのか、あるいはfoaf:Personなどを目的語に使って構造的なリソースとして記述できるのかについては、ずっと議論が続いています。この曖昧さを回避するため、2003年7月に<dfn>foaf:maker</dfn>プロパティが提案され、構造化記述にはこちらを使うことが推奨されました<a href="#ref-foaf-dc">[FOAF-DC]</a>。</p> <div class="example"> <p class="c">(例)</p> <pre><foaf:Document rdf:about="http://kanzaki.com/docs/sw/foaf.html"> <dc:title>FOAF -- メタデータによる知人ネットワークの表現</dc:title> <<code class="attn">foaf:maker</code>> <<code class="attn2">foaf:Person</code>> <foaf:name>神崎正英</foaf:name> <foaf:mbox rdf:resource="mailto:webmaster@kanzaki.com"/> </<code class="attn2">foaf:Person</code>> </<code class="attn">foaf:maker</code>> </foaf:Document> </pre> </div> <p>foaf:makerの部分にdc:creatorを使っても誤りではありませんが、このプロパティは作者名を示すために使う方が一般的です。</p> <div class="example"> <p class="c">(例)</p> <pre><foaf:Document rdf:about="..."> <dc:title>FOAF -- メタデータによる知人ネットワークの表現</dc:title> <<code class="attn">dc:creator</code>>神崎正英</<code class="attn">dc:creator</code>> </foaf:Document> </pre> </div> <p>Dublin Coreのプロパティの使い方については、別途議論が進んでいるということです。メモ<a href="/memo/2004/10/18-2">dc:creatorの「内容モデル」</a>も参照してください。</p> <!--eos(4)--></section> <!--eos(3)--></section> <section> <h3 id="foaf-account-prop">アカウント、グループ関連プロパティ</h3> <p>2003-08-16に、オンライン・アカウントや所属グループを記述するためのプロパティが追加定義されました。</p> <table class="foaf-vocab"> <caption>FOAFのアカウント、グループ関連プロパティ一覧</caption> <thead> <tr><th>Property name</th><th>comment</th><th>domain</th><th>range</th><th>type</th></tr> </thead> <tbody> <tr itemid="http://xmlns.com/foaf/0.1/account" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:account</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">主語エージェントがアカウントを保持している(以前のfoaf:holdsAccount)</td> <td>foaf:Agent</td> <td>foaf:OnlineAccount</td> <td>O</td> </tr> <tr itemid="http://xmlns.com/foaf/0.1/accountServiceHomepage" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:accountServiceHomepage</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">このオンライン・アカウントを提供するサービスのホームページ</td> <td>foaf:OnlineAccount</td> <td>foaf:Document</td> <td>O</td> </tr> <tr itemid="http://xmlns.com/foaf/0.1/accountName" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:accountName</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">このオンライン・アカウントに結びつけられた名前(識別子)</td> <td>foaf:OnlineAccount</td> <td>rdfs:Literal</td> <td>D</td> </tr> <tr itemid="http://xmlns.com/foaf/0.1/member" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:member</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">目的語は主語グループのメンバーである</td> <td>foaf:Group</td> <td>foaf:Agent</td> <td>O</td> </tr> <tr itemid="http://xmlns.com/foaf/0.1/membershipClass" itemscope="" itemtype="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"> <td>foaf:membershipClass</td> <td itemprop="http://www.w3.org/2000/01/rdf-schema#comment">目的語となる人物クラスは主語グループのメンバーである</td> <td><del>foaf:Group</del></td> <td><del>rdfs:Class</del></td> <td>A</td> </tr> </tbody> </table> <p><code>foaf:membershipClass</code>は2005年7月に<code>owl:AnnotationProperty</code>とされたので、type欄に<code>A</code>と示し、値域と定義域を削除しています(注釈型プロパティは値域、定義域を持つことができない)。この扱いについては、もう少し議論の余地がありそうです。</p> <p>2009年12月15日付スキーマ改訂で、foaf:holdsAccountは"archaic"とされ、foaf:accountに置き換えられました。</p> <!--eos(3)--></section> <!--eos(2)--></section> <section> <h2 id="trust">FOAFと情報の信頼性</h2> <p class="note">このセクションは少々複雑なので、はやくFOAFを作って公開したい人は、<a href="#publish">先に進んで</a>構いません。</p> <section> <h3 id="dsig">電子署名で発信者の信頼性を保証する</h3> <p>FOAFはウェブの分散処理を前提に作られているので、様々な人が自分の知っている範囲の友人関係を記述することで、極めて大きな(理屈の上ではグローバルな)コミュニティに関するRDFの連鎖が構築できることになります。一方、この分散性は、ある人物に関する記述を本人以外でも簡単にできることを意味し、場合によってはいい加減な情報が公開されかねないという問題点も孕んでいます。</p> <p>こうした情報が信頼できるかどうかを確認する手法としては、電子署名が有効です。FOAF文書のPGP署名を作成し(例えば<code class="dif1">foaf.rdf.sig</code>というファイル名で同じディレクトリに保存し)、次のようにしてFOAF文書と結びつけます<a href="#ref-foaf-dsig">[FOAF-DSIG]</a>。</p> <div class="example"> <p class="ex-label" id="ex7-1">[例7-1]</p> <pre><rdf:Description rdf:about=""> <<code class="attn">wot:assurance</code> rdf:resource="<code class="dif1">foaf.rdf.sig</code>"/> </rdf:Description> </pre> </div> <p>ここで用いている<dfn>wot:assurance</dfn>は、RDF文書の署名や暗号化を記述して「信頼性のウェブ」(Web of Trust)を表現するために、やはりRDFWebで提案されている語彙<a href="#ref-wot">[WOT]</a>のひとつで、「デジタルコンテンツの同一性に関する暗号化された証明」と定義されているものです。WOTの語彙を利用するために、最初の名前空間宣言に次の1行を加えておきます。</p> <p class="example"> <span class="ex-label" id="ex7-2">[例7-2]</span> xmlns:wot="http://xmlns.com/wot/0.1/" </p> <p>RDFにおいて、<code>rdf:about=""</code>はその文書自身に関する記述を意味するので、<a href="#ex7-1">[例7-1]</a>はFOAF文書の署名がfoaf.rdf.sigにあるということを示します。署名をチェックするための公開鍵については、このFOAF文書を作成した人物は、最上位階層のfoaf:People要素で記述され、そのメールアドレスがfoaf:mboxで示されているので、Key Serverから公開鍵を取得できるはずだ、という理屈になっているようです。</p> <p>エージェントがこの理屈を知っていれば、電子署名と公開鍵から、FOAFがそのfoaf:mboxの所有者によって作成され、変更されていないということを確認できるでしょう。この機能を利用するには、少なくとも作者はfoaf:mbox_sha1sumではなくfoaf:mboxでメールボックスを記述している必要があります(SHA1で変換された値からもとのメールアドレスを割り出すことはできません)。もちろん、公開鍵はあらかじめKey Serverに登録しておきます。電子署名は上記の要素を加えてから作成してください。</p> <!--eos(3)--></section> <section> <h3 id="encrypt">暗号化して特定メンバーだけに情報を公開する</h3> <p>さらに、特定のメンバーにだけ知らせたいプライベートな情報については、別のFOAFファイル(ここではfoaf-private.rdf)を用意し、それを暗号化(foaf-private.rdf.asc)した上で、次のようにrdf:seeAlsoを用いて参照させるという方法が提案されています<a href="#ref-foaf-enc">[FOAF-ENC]</a>。</p> <div class="example"> <p class="ex-label" id="ex8">[例8]</p> <pre><foaf:Person> <!--一般公開してもよい情報は普通に記述--> <!--プライベート情報は別ファイルにして暗号化し、以下のように参照する--> <rdfs:seeAlso> <foaf:Document rdf:about="http://.../foaf-private.rdf.asc"> <wot:encryptedTo> <wot:PubKey wot:hex_id="BB276B88" /> </wot:encryptedTo> </foaf:Document> </rdfs:seeAlso> </foaf:Person> </pre> </div> <p>これはIDがBB276B88である公開鍵を使って暗号化したので、それに対応する秘密鍵を持っているメンバーだけが読めるFOAF文書ということになります。やはりwot:に対応する名前空間宣言が必要です。</p> <!--eos(3)--></section> <!--eos(2)--></section> <section> <h2 id="publish">FOAFの作成と公開</h2> <section> <h3 id="makeit">まずつくってみる</h3> <p>いろんな応用はありますが、細かいことは置いて、自己紹介のつもりでFOAFファイルを作成して公開してみましょう。まず<a href="#foaf-id">自分のメールボックス</a>とホームページのURI、それにせっかくだからニックネームも。できれば自分の写っている写真を用意すると楽しいです。リンク集のように、ホームページを持っている知人を<a href="#foaf-reldesc">foaf:knows</a>で紹介するのもいいですね。</p> <p>RDF/XMLを記述するのが難しければ、フォームに必要事項を入力するだけでFOAFファイルを作ってくれる<a href="#ref-foaf-a-matic">[FOAF-a-matic]</a>などのページを利用すると簡単です(FOAF-a-maticの日本語版ができました)。ファイルは、どんな名前を付けても構いませんが、foaf.rdfとかwebwho.rdfというのが多いみたいです。文字コードは、これもきちんとHTTPヘッダやencoding宣言で明示すれば何でもいいのですが、可能ならUTF-8にしておく方が何かと好都合です。</p> <p>FOAF自身はスタイル情報のないXMLファイルなので、そのままではブラウザで見ても面白くありませんが、XSLTスタイルシートと組み合わせれば、人間にも分かりやすく視覚表現ができ、そのまま自己紹介ページとして使えます。<a href="#ref-foaf-explorer">[FoaF Explorer]</a>では、あなたのFOAFをXSLTによって表示する例を試すことができます。</p> <!--eos(3)--></section> <section> <h3 id="advertize">みんなにお知らせする</h3> <p>FOAFデータがあることを示す方法としては、RSSやDCメタデータの場合と同様、link要素を使って次のように記述する方法が提案されています<a href="#ref-foaf-link">[FOAF-LINK]</a>, <a href="#ref-autodiscovery">[AUTODISCOVERY]</a>。</p> <p class="example"> <span class="ex-label" id="ex9">[例9]</span> <link rel="meta" type="application/rdf+xml" title="FOAF" href="foaf.rdf" /> </p> <p>もっとも、今のところメジャーな検索エンジンなどがこれを認識してくれるというわけではないので、効果のほどはあまり期待できません。RDFWebのWiKiには、FOAFを登録するページ<a href="#ref-foafbb">[FOAFBB]</a>があります。ここに掲載されると、いろいろなFOAF関連データベースが情報を拾っていってくれるようになるので、こちらを使う方が今の時点では広がりがあると思います。FOAF情報を集めたデータベースの応用として面白いものとしては、SVGを使って友人関係のグラフを示してくれる<a href="#ref-foafnaut">[FOAFNAUT]</a>などがあります。</p> <p>やはりRSSなどと同様に、FOAFを用意したらそれを人間の訪問者にもアピールして宣伝していくのが、結局早道だったりもします。ホームページなどでこれを告知するためには、Ian DavisによるFOAFアイコン<img src="/parts/foaf.gif" title="FOAF icons come in GIF and SVG format with different size and design" alt=":-)" /><a href="#ref-foaf-icon">[FOAF-ICON]</a>を使うと楽しいでしょう。</p> <!--eos(3)--></section> <!--eos(2)--></section> <section> <h2 id="obsolete-info">少し古い参考情報</h2> <p>FOAFはセマンティック・ウェブの初期からのプロジェクトであるため、セマンティック・ウェブの理解と利用が進むにつれて、当初の方法よりも別の形のほうが望ましいと考えられるようになった部分があります。またこのページには、RDF/XMLの書き方の注意といった、FOAFの理解とは直接関係ないものも含まれていました。こうした初期仕様や古い記述は、このセクションにまとめて、参考情報として扱うことにします。</p> <section class="obsolete"> <h3 id="mbox-sha1">メールボックスのプライバシーを守る</h3> <p>FOAFではメールボックスを個人の識別に用いますが、メールアドレスという情報はプライベートなものでもあり、不用意に公開するとSPAMの対象となるなどのマイナス面も出てきます。そこでFOAFでは、メールボックスを<a href="#ref-sha1">[SHA1]</a> (Secure Hash Algorithm)によってエンコードし、<dfn>foaf:mbox_sha1sum</dfn>プロパティの値として個人を識別できるようにしています。</p> <p>SHA1は一方向ハッシュ関数と呼ばれるもので、元の値から160ビットのダイジェストを生成します。この関数は“一方向の変換”という特徴を持ちます。すなわちメールアドレス→SHA1ハッシュ値という変換は誰でも容易に計算できますが、逆にSHA1値から元のメールアドレスを割り出すことはまず不可能です。この性質を利用して、実際のメールアドレスを公開する(逆算される)ことなく、メールアドレスと同等の値として個人を識別することが可能になります。</p> <p>エージェントが「神崎正英」についての情報を得ようとする場合、</p> <ol> <li>webmaster@kanzaki.comというメールアドレスを持つデータを検索する</li> <li>同時にそのSHA1を計算し、foaf:mbox_sha1sumがSHA1ハッシュ値と一致するデータも抽出する</li> </ol> <p>という検索を行うことで、「神崎正英」に関する情報を漏れなく集めることができるわけです。この値は、URIではないので、リテラル値として記述します。</p> <div class="example"> <p class="ex-label" id="ex2">[例2]</p> <pre><rdf:RDF <a href="#def-ns" title="省略した名前空間宣言の詳細">...</a>> <foaf:Person> <<code class="attn">foaf:mbox_sha1sum</code>>c608c06ce564b0a00846eab72659d8f1375b880b</<code class="attn">foaf:mbox_sha1sum</code>> <foaf:name>神崎正英</foaf:name> <foaf:homepage rdf:resource="http://www.kanzaki.com/"/> </foaf:Person> </rdf:RDF> </pre> </div> <p>個人のメールアドレスをあまり公開したくない場合は、foaf:mboxの代わりにこのfoaf:mbox_sha1sumを記述する方がよいでしょう。また、<a href="#foaf-reldesc">次に説明する友人の記述</a>には、原則としてfoaf:mbox_sha1sumをIDとして用いておくのが賢明だと言えます。</p> <p class="aux">〔補足〕<code>foaf:mbox</code>と<code>foaf:mbox_sha1sum</code>の値は同等のIDとして機能するので、同じアドレスについて両方を記述する必要はありません。</p> <p id="nsmsg-sh1">SHA1のハッシュ値を手で計算するのは大変ですが、スクリプトなどで計算をしてくれるツールがオンラインでも提供されているので、通常はそれらを利用します。</p> <script> //<![CDATA[<!-- document.write('<p>SHA1の値を手で計算するのは大変ですから、通常はツールを用います。このページでも、メールボックスのSHA1値をスクリプトで計算するフォームを用意しました。メールアドレスの前にmailto:を加えるのを忘れないようにしてください。</p>'); document.write('<form action="#" onsubmit="my_sha1(this.mbox.value);return false"><fieldset><legend>SHA1ハッシュ値の計算</legend><table><tr><td><label for="mbox">mbox URI</label>:</td><td><input type="text" value="mailto:" size="40" name="mbox" id="mbox" /><input type="submit" name="sha1" value="SHA1を計算" onclick="my_sha1(document.forms[0].mbox.value);return false" /></td></tr><tr><td><label for="hash">mbox_sha1sum</label>:</td><td><input type="text" size="55" readonly="readonly" name="hash" /></td></tr></table></fieldset></form>'); function my_sha1(str){ str = str.replace(' ',''); if(str.substr(0,7) != "mailto:"){ str = "mailto:" + str; } document.forms[0].mbox.value = str; document.forms[0].hash.value = calcSHA1(str); document.forms[0].hash.focus(); document.forms[0].hash.select(); } document.getElementById('nsmsg-sh1').style.display = "none"; //-->]]> </script> <!--eos(3)--></section> <section> <h3 id="foaf-know-multi">複数の知人を示すときの注意点</h3> <p>foaf:knowsを使って、複数の知人を記述する場合を考えましょう。次のように、ひとつのfoaf:knows要素で複数のfoaf:Peopleをまとめたくなるかも知れません。</p> <div class="badexample"> <p class="ex-label" id="ex5-1">[例5-1](正しくない例)</p> <pre><rdf:RDF <a href="#def-ns" title="省略した名前空間宣言の詳細">...</a>> <foaf:Person> <foaf:mbox rdf:resource="mailto:webmaster@kanzaki.com"/> <<code class="attn">foaf:knows</code>> <<code class="attn2">foaf:Person</code>> <foaf:mbox_sha1sum>df0d8c6fa143ec27...</foaf:mbox_sha1sum> </foaf:Person> <<code class="attn2">foaf:Person</code>> <foaf:mbox_sha1sum>9dff5368ce580062...</foaf:mbox_sha1sum> </foaf:Person> </foaf:knows> </foaf:Person> </rdf:RDF> </pre> </div> <p>残念ながら、これは正しいRDFではなく、FOAFとして成り立ちません。この方法では、foaf:knowsというひとつのプロパティに2つの目的語があることになってしまい、グラフが描けないのです。</p> <p><img src="foaf-knows-wrong.gif" title="人物Aからアークは1本しか伸びていないのに、目的語になる人物が2人いるので、グラフが破綻している" alt="[PersonA]-->[PersonB][PersonC] これではアーク1本にノードが2つで対応しない" width="502" height="181" /></p> <p>正しくは、それぞれの人物に対して別々のfoaf:knowsプロパティを記述します。</p> <div class="example"> <p class="ex-label" id="ex5-2">[例5-2]</p> <pre><rdf:RDF <a href="#def-ns" title="省略した名前空間宣言の詳細">...</a>> <foaf:Person> <foaf:mbox rdf:resource="mailto:webmaster@kanzaki.com"/> <<code class="attn">foaf:knows</code>> <<code class="attn2">foaf:Person</code>> <foaf:mbox_sha1sum>df0d8c6fa143ec27...</foaf:mbox_sha1sum> </foaf:Person> </foaf:knows> <<code class="attn">foaf:knows</code>> <<code class="attn2">foaf:Person</code>> <foaf:mbox_sha1sum>9dff5368ce580062...</foaf:mbox_sha1sum> </foaf:Person> </foaf:knows> </foaf:Person> </rdf:RDF> </pre> </div> <p>ちょっと面倒な感じですが、これによってfoaf:knowsというアークとfoaf:Personというノードがきちんと対応し、RDFのグラフを描くことができます。つい間違ってしまう点なので、注意してください。</p> <p><img src="foaf-knows-ok.gif" title="目的語に対しそれぞれアークが伸びているので、RDFグラフが正しく描かれる" alt="[PersonA]-->[PersonB]; -->[PersonC] それぞれのノードにアークが対応する" width="508" height="218" /></p> <!--eos(3)--></section> <div class="aux" id="def-ns"> <p class="c">〔補足〕</p> <p>この文書では、foaf:、rdf:、rdfs:はそれぞれFOAF、RDF、RDFスキーマの名前空間に結びつけられた接頭辞として扱っています。例をシンプルにするため、rdf:RDFの開始タグでは名前空間宣言を...と省略していますが、実際には次の宣言があるものと考えてください。</p> <div class="example"> <p class="c">(例)</p> <pre><rdf:RDF xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"> </pre> </div> <p>なお、後で述べる<a href="#foaf-seealso">rdfs:seeAlsoで知人のFOAFファイルを示す使い方</a>以外では、最後のrdfs:の名前空間宣言は必要ありません。</p> <p class="c">〔以上補足〕</p> </div> <!--eos(2)--></section> <section> <h2 id="reference">参考文献</h2> <section> <h3>FOAFについて</h3> <dl class="refs" lang=""> <dt id="ref-foaf-proj">[FOAF-PROJ]</dt> <dd itemprop="mentions" itemscope="" itemtype="http://schema.org/CreativeWork" itemid="http://rdfweb.org/foaf/"><span class="author" itemprop="contributor" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name">Dan Brickley, et al</span></span>, <cite itemprop="name"><a href="http://web.archive.org/web/20020805134410/http://rdfweb.org/foaf/">The 'friend of a friend' project: FOAF</a></cite></dd> <dd><http://rdfweb.org/foaf/></dd> <dt id="ref-rdfweb">[RDFWeb]</dt> <dd itemprop="mentions" itemscope="" itemtype="http://schema.org/CreativeWork" itemid="http://rdfweb.org/"><span class="author" itemprop="contributor" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name">Dan Brickley, et al</span></span>, <cite itemprop="name"><a href="https://web.archive.org/web/20030725131106/http://www.rdfweb.org/">RDFWeb and FOAF: semantic web vapourware for the masses</a></cite></dd> <dd><http://rdfweb.org/></dd> <dt id="ref-foaf-vocab">[FOAF-VOCAB]</dt> <dd itemprop="mentions" itemscope="" itemtype="http://schema.org/CreativeWork" itemid="http://xmlns.com/foaf/0.1/"><span class="author" itemprop="contributor" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name">Dan Brickley, Libby Miller</span></span>, <cite itemprop="name"><a href="http://xmlns.com/foaf/0.1/">FOAF Vocabulary Specification </a></cite>, <time class="date" itemprop="datePublished">2003-08-20</time></dd> <dd><http://xmlns.com/foaf/0.1/></dd> <dt id="ref-foaf-dc">[FOAF-DC]</dt> <dd itemprop="mentions" itemscope="" itemtype="http://schema.org/CreativeWork" itemid="http://rdfweb.org/topic/UsingDublinCoreCreator"><span class="author" itemprop="contributor" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name">Dan Brickley</span></span>, <cite itemprop="name"><a href="https://web.archive.org/web/20031004122928/http://rdfweb.org:80/topic/UsingDublinCoreCreator">FOAF Wiki - Using Dublin Core Creator</a></cite>, <time class="date" itemprop="datePublished">2003-07</time></dd> <dd><http://rdfweb.org/topic/UsingDublinCoreCreator></dd> <dt id="ref-foaf-dsig">[FOAF-DSIG]</dt> <dd itemprop="mentions" itemscope="" itemtype="http://schema.org/CreativeWork" itemid="http://usefulinc.com/foaf/signingFoafFiles"><span class="author" itemprop="contributor" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name">Edd Dumbill</span></span>, <cite itemprop="name"><a href="https://web.archive.org/web/20030406080349/http://usefulinc.com/foaf/signingFoafFiles">PGP Signing FOAF Files</a></cite>, <span class="publisher">Useful Information Company</span></dd> <dd><http://usefulinc.com/foaf/signingFoafFiles></dd> <dt id="ref-foaf-enc">[FOAF-ENC]</dt> <dd itemprop="mentions" itemscope="" itemtype="http://schema.org/CreativeWork" itemid="http://usefulinc.com/foaf/encryptingFoafFiles"><span class="author" itemprop="contributor" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name">Edd Dumbill</span></span>, <cite itemprop="name"><a href="https://web.archive.org/web/20030406132227/http://usefulinc.com/foaf/encryptingFoafFiles">PGP Encrypting FOAF Files</a></cite>, <span class="publisher">Useful Information Company</span></dd> <dd><http://usefulinc.com/foaf/encryptingFoafFiles></dd> <dt id="ref-foaf-a-matic">[FOAF-a-matic]</dt> <dd itemprop="mentions" itemscope="" itemtype="http://schema.org/CreativeWork" itemid="http://www.ldodds.com/foaf/foaf-a-matic"><span class="author" itemprop="contributor" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name">Leigh Dodds</span></span>, <cite itemprop="name"><a href="http://www.ldodds.com/foaf/foaf-a-matic">FOAF-a-matic -- RDFを使って自己紹介してみよう</a></cite></dd> <dd><http://www.ldodds.com/foaf/foaf-a-matic></dd> <dd itemprop="mentions" itemscope="" itemtype="http://schema.org/CreativeWork" itemid="http://www.ldodds.com/foaf/foaf-a-matic.html"><a href="http://www.ldodds.com/foaf/foaf-a-matic.html">FOAF-a-matic -- Describe yourself in RDF</a>(オリジナル英語版)</dd> <dt id="ref-foaf-explorer">[FoaF Explorer]</dt> <dd itemprop="mentions" itemscope="" itemtype="http://schema.org/CreativeWork" itemid="http://xml.mfd-consult.dk/foaf/explorer/"><span class="author" itemprop="contributor" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name">Morten Frederiksen</span></span>, <cite itemprop="name"><a href="https://web.archive.org/web/20030411212928/http://xml.mfd-consult.dk/foaf/explorer/">FoaF Explorer</a></cite></dd> <dd><http://xml.mfd-consult.dk/foaf/explorer/></dd> <dt id="ref-foaf-name">[FOAF-NAME]</dt> <dd itemprop="mentions" itemscope="" itemtype="http://schema.org/CreativeWork" itemid="http://rdfweb.org/topic/NamesInFoaf"><span class="author" itemprop="contributor" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name">Morten Frederiksen, Dan Brickley et. al.</span></span>, <cite itemprop="name"><a href="https://web.archive.org/web/20030803121214/http://rdfweb.org/topic/NamesInFoaf">FOAF Wiki - NamesInFoaf</a></cite></dd> <dd><http://rdfweb.org/topic/NamesInFoaf></dd> <dt id="ref-foaf-link">[FOAF-LINK]</dt> <dd itemprop="mentions" itemscope="" itemtype="http://schema.org/CreativeWork" itemid="http://lists.foaf-project.org/pipermail/foaf-dev/2002-December/004677.html"><span class="author" itemprop="contributor" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name">Dan Brickley</span></span>, <cite itemprop="name"><a href="https://web.archive.org/web/20210416193419/http://lists.foaf-project.org/pipermail/foaf-dev/2002-December/004677.html">foaf link rel syntax - for linking to one's foaf from homepage</a></cite>, <time class="date" itemprop="datePublished">2002-12-12</time>, <span class="publisher">rdfweb developers mailing list</span></dd> <dd><http://lists.foaf-project.org/pipermail/foaf-dev/2002-December/004677.html></dd><!--http://groups.yahoo.com/group/rdfweb-dev/message/483--> <dt id="ref-autodiscovery">[AUTODISCOVERY]</dt> <dd itemprop="mentions" itemscope="" itemtype="http://schema.org/CreativeWork" itemid="http://internetalchemy.org/2003/02/foafAutodiscovery.html"><span class="author" itemprop="contributor" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name">Ian Davis</span></span>, <cite itemprop="name"><a href="https://web.archive.org/web/20030401113833/http://internetalchemy.org/2003/02/foafAutodiscovery.html">FOAF Autodiscovery at Internet Alchemy</a></cite>, <time class="date" itemprop="datePublished">2003-02-17</time></dd> <dd><http://internetalchemy.org/2003/02/foafAutodiscovery.html></dd> <dt id="ref-foafbb">[FOAFBB]</dt> <dd itemprop="mentions" itemscope="" itemtype="http://schema.org/CreativeWork" itemid="http://rdfweb.org/topic/FOAFBulletinBoard"><span class="author" itemprop="contributor" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name">Dan Brickley</span></span>, <cite itemprop="name"><a href="https://web.archive.org/web/20030604130855/http://rdfweb.org/topic/FOAFBulletinBoard">FOAFBulletinBoard</a></cite></dd> <dd><http://rdfweb.org/topic/FOAFBulletinBoard></dd> <dt id="ref-foafnaut">[FOAFNAUT]</dt> <dd itemprop="mentions" itemscope="" itemtype="http://schema.org/CreativeWork" itemid="http://foafnaut.org/"><span class="author" itemprop="contributor" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name">Dean Jackson, Jim Ley</span></span>, <cite itemprop="name"><a href="https://web.archive.org/web/20030530202859/http://www.foafnaut.org/">FOAFNAUT</a></cite></dd> <dd><http://foafnaut.org/></dd> <dt id="ref-foaf-icon">[FOAF-ICON]</dt> <dd itemprop="mentions" itemscope="" itemtype="http://schema.org/CreativeWork" itemid="http://internetalchemy.org/foaf/"><span class="author" itemprop="contributor" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name">Ian Davis</span></span>, <cite itemprop="name"><a href="https://web.archive.org/web/20030604145958/http://internetalchemy.org/foaf/">FOAF at Internet Alchemy Weblog</a></cite></dd> <dd><http://internetalchemy.org/foaf/></dd> <dt id="ref-ibm-xw">[IBM-XW]</dt> <dd itemprop="mentions" itemscope="" itemtype="http://schema.org/CreativeWork" itemid="http://www-106.ibm.com/developerworks/xml/library/x-foaf.html"><span class="author" itemprop="contributor" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name">Edd Dumbill</span></span>, <cite itemprop="name"><a href="https://web.archive.org/web/20021017085828/http://www-106.ibm.com:80/developerworks/xml/library/x-foaf.html">XML Watch: Finding friends with XML and RDF</a></cite>, <time class="date" itemprop="datePublished">2002-06-01</time>, <span class="publisher">IBM developerWorks</span></dd> <dd><http://www-106.ibm.com/developerworks/xml/library/x-foaf.html></dd> <dd itemprop="mentions" itemscope="" itemtype="http://schema.org/CreativeWork" itemid="http://www.ibm.com/jp/developerworks/xml/020906/j_x-foaf.html"><cite itemprop="name"><a href="http://www.ibm.com/jp/developerworks/xml/020906/j_x-foaf.html">dW: XML: XMLウォッチ: XMLとRDFによる友達の検索</a></cite>(同文書の日本語訳), <http://www.ibm.com/jp/developerworks/xml/020906/j_x-foaf.html></dd> </dl> <!--eos(3)--></section> <section> <h3>関連する文献</h3> <dl class="refs" lang=""> <dt id="ref-milgram">[MILGRAM]</dt> <dd itemprop="mentions" itemscope="" itemtype="http://schema.org/CreativeWork" itemid="http://www.amazon.co.jp/exec/obidos/ASIN/0070419361/thewebkanzaki-22"><span class="author" itemprop="contributor" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name">Stanley Milgram</span></span>, <cite itemprop="name">The Small World Problem</cite>, in <cite>"The Individual in a Social World: Essays and Experiments", 2nd Edition</cite>, <time class="date" itemprop="datePublished">1992</time>, <span class="publisher">NY: McGraw-Hill</span>, <a class="identifier" href="http://www.amazon.co.jp/exec/obidos/ASIN/0070419361/thewebkanzaki-22">ISBN:0070419361</a></dd> <dd>Originally: in Psychology Today, vol. 61, 1967.</dd> <dt id="ref-kleinberg">[KLEINBERG]</dt> <dd itemprop="mentions" itemscope="" itemtype="http://schema.org/CreativeWork" itemid="http://www.cs.cornell.edu/home/kleinber/swn.d/swn.html"><span class="author" itemprop="contributor" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name">Jon Kleinberg</span></span>, <cite itemprop="name"><a href="http://www.cs.cornell.edu/home/kleinber/swn.d/swn.html">The Small-World Phenomenon: An Algorithmic Perspective</a></cite>, <time class="date" itemprop="datePublished">1998-03-02</time></dd> <dd><http://www.cs.cornell.edu/home/kleinber/swn.d/swn.html></dd> <dt id="ref-mayfield">[MAYFIELD]</dt> <dd itemprop="mentions" itemscope="" itemtype="http://schema.org/CreativeWork" itemid="http://www.wired.com/news/culture/0,1284,49343,00.html"><span class="author" itemprop="contributor" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name">Kendra Mayfield</span></span>, <cite itemprop="name"><a href="http://www.wired.com/news/culture/0,1284,49343,00.html">Kevin Bacon: You've Got Mail</a></cite>, <time class="date" itemprop="datePublished">2002-01-15</time>, <span class="publisher">Wired News</span></dd> <dd><http://www.wired.com/news/culture/0,1284,49343,00.html></dd> <dd itemprop="mentions" itemscope="" itemtype="http://schema.org/CreativeWork" itemid="http://www.hotwired.co.jp/news/news/culture/story/20020131206.html"><cite itemprop="name"><a href="http://www.hotwired.co.jp/news/news/culture/story/20020131206.html">インターネットは「狭い世界」を検証できるか</a></cite>(同文書の日本語訳), <http://www.hotwired.co.jp/news/news/culture/story/20020131206.html></dd> <dt id="ref-sha1">[SHA1]</dt> <dd itemprop="mentions" itemscope="" itemtype="http://schema.org/CreativeWork" itemid="http://www.ietf.org/rfc/rfc3174.txt"><span class="author" itemprop="contributor" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name">D. Eastlake and P. Jones</span></span>, <cite itemprop="name"><a href="http://www.ietf.org/rfc/rfc3174.txt">RFC 3174: US Secure Hash Algorithm 1 (SHA1)</a></cite>, <time class="date" itemprop="datePublished">2001-09</time>, <span class="publisher">The Internet Society</span>, <span class="status" itemprop="description">Informational</span></dd> <dd><http://www.ietf.org/rfc/rfc3174.txt></dd> <dt id="ref-turner">[Turner]</dt> <dd itemprop="mentions" itemscope="" itemtype="http://schema.org/CreativeWork" itemid="http://lists.foaf-project.org/pipermail/foaf-dev/2003-January/005049.html"><span class="author" itemprop="contributor" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name">Liz Turner</span></span>, <cite itemprop="name"><a href="http://lists.foaf-project.org/pipermail/foaf-dev/2003-January/005049.html">opt-out, acknowledgment and FOAF piracy</a></cite>, <time class="date" itemprop="datePublished">2003-01-23</time>, <span class="publisher">rdfweb developers mailing list</span></dd> <dd><http://lists.foaf-project.org/pipermail/foaf-dev/2003-January/005049.html></dd><!--http://groups.yahoo.com/group/rdfweb-dev/message/855--> <dt id="ref-jabber">[Jabber]</dt> <dd itemprop="mentions" itemscope="" itemtype="http://schema.org/CreativeWork" itemid="http://www.jabber.org/"><cite itemprop="name"><a href="http://www.jabber.org/">Jabber Software Foundation</a></cite></dd> <dd><http://www.jabber.org/></dd> <dt id="ref-geekcode">[GEEKCODE]</dt> <dd itemprop="mentions" itemscope="" itemtype="http://schema.org/CreativeWork" itemid="http://www.geekcode.com/geek.html"><span class="author" itemprop="contributor" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name">Robert A. Hayden</span></span>, <cite itemprop="name"><a href="http://www.geekcode.com/geek.html">The Code of the Geeks</a></cite>, <time class="date" itemprop="datePublished">1996-03-05</time>, <span class="status" itemprop="description">v3.12</span></dd> <dd><http://www.geekcode.com/geek.html></dd> <dt id="ref-wot">[WOT]</dt> <dd itemprop="mentions" itemscope="" itemtype="http://schema.org/CreativeWork" itemid="http://xmlns.com/wot/0.1/"><span class="author" itemprop="contributor" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name">Dan Brickley</span></span>, <cite itemprop="name"><a href="http://xmlns.com/wot/0.1/">WOT RDF Vocabulary</a></cite></dd> <dd><http://xmlns.com/wot/0.1/></dd> </dl> <!--eos(3)--></section> <!--eos(2)--></section> <!--eoc(main)--></div> <div class="navi" role="navigation"> <a href="./" accesskey="u"><img src="/parts/ar_u.gif" width="22" height="22" alt="↑ " />メタ情報とセマンティック・ウェブ</a> </div> <footer role="contentinfo" id="cif0" lang=""> <address class="vcard" itemscope="" itemtype="http://schema.org/Person" itemid="http://purl.org/net/who/kanzaki#masahide"> By <span itemprop="name"><a href="/info/who" class="fn url" rel="author">KANZAKI, Masahide</a></span> (see <a itemprop="http://xmlns.com/foaf/0.1/isPrimaryTopicOf" href="/info/webwho.rdf" title="personal profile in RDF">FOAF</a> or <a href="/" itemprop="url" title="The Web KANZAKI home">home</a>), <a title="disclaimer, rights and contact info" href="/info/disclaimer">©2003-2009</a>. </address> <span id="stinfo">Status: <time class="created" itemprop="dateCreated">2003-06-01</time>公開; <em id="pst" class="modified"><time itemprop="dateModified">2010-08-09</time>更新</em>; 2022-06-15参考文献リンクの多くをInternet Archiveに変更. </span> <span class="cpr"><br />Original URI is <cite id="orguri">http://www.kanzaki.com/docs/sw/foaf.html</cite></span> </footer> </body> </html>