FOAFやXFNをクロールしてAPI化

ブログやSNSを結び付ける「Social Graph API」をグーグルが公開

2008/02/04

 米グーグルは2月1日、ブログやSNS上に公開された交友関係を示すメタ情報から人同士のつながりなどを収集し、おもにWebアプリケーション向けに提供するAPI「Social Graph API」を公開した。

 グーグルでは検索インデックスを作成するためのページクローラを拡張して、ブログなどに埋め込まれた「XFN」(XHTML Friends Network)や「FOAF」(Friend of a Friend)といったメタ情報を収集する。MySpaceなどSNSで一般に公開されているページからも情報を集める。非公開のサイトやWebページからは収集しない。

 XFNは“microformats”と呼ばれるデータフォーマットの1つで、既存のHTML/XHTMLドキュメントに含まれる「a」タグの属性値として埋め込む拡張フォーマットとして規定されている。具体的には、「<a href="http://taro.blog-site.org" rel="friend met">太郎</a>」と書くことで、このリンクをブログに埋め込んだユーザーは、「太郎という友だちがいて実際に会ったことがある」という情報を表現できる。rel属性にはこのほか「aquaintance(知人)」、「contact(連絡を取ることができる)」、「co-worker」(同一組織に所属)、「colleague」(同僚・同業)などで社会的関係を示せるほか、親子・親類関係、恋愛関係、居住地の関係などを表現する語彙もある(参考リンク)。広く普及するには、大手サイトやツールの対応が必須だが、これらの語彙は既存のWebページに手で埋め込んでも構わない。語順についても規定がない。なお、XFNを使ったaタグでリンクを張る先はブログなどトップページで、個別のブログエントリに対して張るのは意味がない。

 XFNには自分自身が所有することを示す「me」という語彙もある。例えば、複数ブログを持っている場合に相互にリンクしたり、SNSやソーシャルブックマークのアカウントを結び付けることができる。自分のブログに「<a href="http://twitter.com/atmarkit" rel="me" class="twitter">Twitter</a>」と書いておくことで、ブログとTwitterのアカウントを結び付けることができる。

sg01.png XFNを使ってソーシャルコミュニティへのリンクをブログ内に張った例
sg02.png 上記のXFNをSocial Graph APIを使って、Webブラウザ上からクエリした結果の例

 RDFベースのFOAFも、XFN同様に人間関係を機械可読な形で表現するためのフォーマットだ。FOAFでは人間関係だけでなく、OpenIDやメールアドレス、写真画像などのリソースを結び付けることができる。

 XFNとFOAFは機能的には似ているが、XFNでは既存のHTMLページに埋め込めるというメリットがある。一方、XMLベースのFOAFは、すべての情報を1つのファイルに収めることができる。

 XFNやFOAFで定義された人間同士の結びつきは「ソーシャル・グラフ」と呼ばれる。つまり、Social Graph APIは個々のブログやSNSに分散して公開されているソーシャル・グラフを抽出して、API経由でWebアプリケーションから利用できるようにするための仕組みだと言える。これまでもXFNやFOAFは一部のユーザーやWebサービスで使われていたが、実験的な利用にとどまっていた。特にFOAFは2000年に開発がスタートしており、SNSブームの先駆けであるFriendsterやOrkutよりも登場が早い。今回、日常的にWebページをクローリングしているグーグルが対応して簡易なAPI経由で利用可能としたことで、一気にXFNやFOAFの利用価値が高まった形だ。

 具体的にRESTベースのSocial Graph APIを使ったクエリは、「http://socialgraph.apis.google.com/lookup?q=http://taro.blog-site.org/&edo=1」のように発行する。クエリ対象のURIから外部に向かうリンクは「edo」、逆向きは「edi」で指定する。me属性を検索する場合「fme=1」を付ける。クエリ結果はJSONや、JSONPで受け取れ、JavaScriptのほかPHP、Ruby、Python、C#、Javaなど多くのプログラミング言語で利用できる。

 こうした仕組みを利用したアプリケーションの例として、グーグル社内でSocial Graph APIのプロジェクトを推進するブラッド・フィッツパトリック氏は、新規に参加したSNSなどで、ブログ上で定義された交友関係を元に自動的にユーザー同士のリンクを提示する仕組みが考えられるとしている(解説動画)。

 なお、グーグルは2007年11月にSNS向け標準API「OpenSocial」を提唱。現在バージョン0.7となった仕様を公開している。OpenSocialは、SNS内部にあるアカウント情報、ソーシャルグラフ、データ、アプリケーションのインターフェイスを標準化して、Webアプリケーションから利用しやすくするためのもの。

関連リンク

(@IT 西村賢)

情報をお寄せください:

アイティメディアの提供サービス

キャリアアップ


- PR -
ソリューションFLASH

「ITmedia マーケティング」新着記事

Cookie廃止で広告主とデータプロバイダ、媒体社にこれから起きることとその対策
連載の最後に、サードパーティーCookie廃止が広告主と媒体社それぞれに与える影響と今後...

メタバース生活者定点調査2023 メタバース利用経験は横ばいでも認知は向上
博報堂DYホールディングスによる「メタバース生活者定点調査2023」の結果です。メタバー...

GoogleのBIツールからLINEにノーコードでデータ連携 primeNumberが「trocco action for Looker」を提供
primeNumberが「trocco action」の提供を開始。第一弾としてGoogleのBIツール「Looker」...