September 18, 2003

RSS 1.0 が RDF ベースだと何が良いか、山田にて。

[ XML ]
RDFにしたときにでる違いっていうのはそのまんまだけどRDFエージェントに読ませることができるってことですよ。

RDFパーサーで読めてうれしいというのはRDFが汎用のメタデータ表現の標準と目されているからです。

たとえばRSSもFOAFもそれぞれまったく無関係な野良XMLで表現されていたとしたらこれらを利用しようとするエージェントはこうしたフォーマット毎に(そして増える毎に)いちいち対応しなきゃいけないけど「RDFパーサーで読める」という風になっていればその必要は無くなるわけさ。

だから単にSyndicationのためのフォーマットとしてのRSSってことを考えたらそれに必要なものだけあればよいってことでRSS0.91とかRSS2.0でいいじゃんってことになるけどもうちょっと遠くを見るとRDFでメリットが出るところが見える。

山田BBS ウェブロについて考える。2 の 994。RSS 1.0 が RDF ベースだと何がいいかっていう話に対しての解。なるほど、その通り。ていうか今まで気付かなかったんかい、自分。

物は試しと RDF パーサーで読ませてみようと CPAN を検索したら、RDF::Simple::Parser というちょっと試すには丁度よさそうなモジュールがあったので、サンプルコードそのままに書いてみました。

RDF::Simple::Parser でパースして Data::Dumper でダンプするのみ。RDF パーサーが理解できるかどうかを試します。

#!/usr/local/bin/perl
 
use warnings;
use strict;
use LWP::Simple;
use RDF::Simple::Parser;
use Data::Dumper;
 
my $uri = "http://naoya.dyndns.org/~naoya/mt/index.rdf";
my $rdf = get($uri);
my $parser = RDF::Simple::Parser->new( base => $uri );
my @triples = $parser->parse_rdf($rdf);
 
print Dumper(@triples);

実行すると、

[naoya@mary tmp]$ ./rdfparse.pl | nkf -e | more
VAR1 = [
          'http://naoya.dyndns.org/~naoya/mt/',
          'http://www.w3.org/1999/02/22-rdf-syntax-ns#type',
          'http://purl.org/rss/1.0/channel'
        ];
$VAR2 = [
          'http://naoya.dyndns.org/~naoya/mt/',
          'http://purl.org/rss/1.0/title',
          'NDO::Weblog'
        ];
$VAR3 = [
          'http://naoya.dyndns.org/~naoya/mt/',
          'http://purl.org/rss/1.0/link',
          'http://naoya.dyndns.org/~naoya/mt/'
        ];
$VAR4 = [
          'http://naoya.dyndns.org/~naoya/mt/',
          'http://purl.org/rss/1.0/description',
          'MovableType指向な気まぐれ更新ウェブログ。Espoir House は吸収合併。'
        ];
(以下略)

お、ちゃんと読めてる。出てきたデータ構造(リストリファレンスのリスト)をどう使うかはちょっと微妙ですけど、なるほど、RDF パーサーでしっかりパースできます。

Posted by naoya at September 18, 2003 02:45 AM | トラックバック (0)  b_entry.gif
トラックバック [0件]
TrackBack URL: http://mt.bloghackers.net/mt/suck-tbspams.cgi/442
コメント [0件]