名前¶
XML::FOAF - FOAF (Friend of a Friend) データを解析
概要¶
use XML::FOAF;
use URI;
my $foaf = XML::FOAF->new(URI->new('http://foo.com/my.foaf'));
print $foaf->person->mbox, "\n";
説明¶
XML::FOAF は FOAF (Friend of a Friend) データのオブジェクト指向インタフェースを 提供します。
USAGE¶
XML::FOAF->new($data [, $base_uri ])¶
$data から FOAF データを読み込んで解析します。成功したならば、 XML::FOAF オブジェクトを返し、エラーの場合は undef
を返します。 もしエラーが発生したならば、
XML::FOAF->errstr
を呼びましょう。エラーについて説明したテキストを取得できます。
$base_uri は FOAF で定義されたリソースから絶対 URL を構築するために 使われる規定 URI です。$data が URI オブジェクトではないときに必要となります。 URI オブジェクトであれば、そのオブジェクトから $base_uri を取得します。
$data は次の中の何れかになります:
A URI object(URI オブジェクト)
URI のサブクラスのオブジェクトです。例えば次のようにします:
my $uri = URI->new('http://foo.com/my.foaf'); my $foaf = XML::FOAF->new($uri);
URI としては、(上の例のように)FOAF ファイルか若しくは FOAF 自動探索のための
<link>
タグが使われた HTML ページを与えることができます。<link rel="meta" type="application/rdf+xml" title="FOAF" href="http://foo.com/my.foaf" />
もし、URI が FOAF の自動探索を有効にした HTML 文書を指し示しているならば、 XML::FOAF は HTML を解析して自動的に FOAF ファイルを見つけだします。
A scalar reference(スカラーリファレンス)
FOAF データの文字列のリファレンスを与えます。例えば次のようにします:
my $foaf_data = <<FOAF; ... FOAF my $foaf = XML::FOAF->new(\$foaf_data, 'http://foo.com');
A filehandle(ファイルハンドル)
FOAF データのファイルを開いたファイルハンドルを与えます。例えば次のようにします:
open my $fh, 'my.foaf' or die $!; my $foaf = XML::FOAF->new($fh, 'http://foo.com');
A file name(ファイル名)
FOAF データのファイルのファイル名を単純なスカラー値として与えます。 例えば次のようにします:
my $foaf = XML::FOAF->new('my.foaf', 'http://foo.com');
$foaf->person¶
FOAF ファイルからその代表的な象徴である XML::FOAF::Person オブジェクトを 返します。
$foaf->assurance¶
もし、FOAF ファイル内で wot:assurance として PGP シグネチャがあれば、 シグネチャファイルの URL を返します。そうでないならば undef を返します。
$foaf->verify¶
assurance から返された PGP シグネチャを使って FOAF ファイルの検証を 試みます。verify は、鍵サーバ(keyserver)からそのシグネチャの 公開鍵を取得します。FOAF ファイルに PGP シグネチャがない場合と エラーが発生した場合には、undef
を返します。もし、正当なシグネチャ であれば、署名の PGP identity(大抵は、名前と電子メールアドレス)を 返します。
REFERENCES¶
http://xmlns.com/foaf/0.1/
http://rdfweb.org/foaf/
ライセンス¶
XML::FOAF is free software; you may redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR & COPYRIGHT¶
Except where otherwise noted, XML::FOAF is Copyright 2003 Benjamin Trott, [email protected]. All rights reserved.
翻訳について¶
翻訳者:IWAI, Masaharu <[email protected]>
Perlドキュメント日本語訳 Project にて、 Perlモジュール、ドキュメントの翻訳を行っております。
http://perldocjp.sourceforge.jp/, http://www.freeml.com/ctrl/html/MLInfoForm/[email protected], http://perldoc.jp/