XML-FOAF-0.02 > XML::FOAF

名前

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/