2005-11-14 18:25:43

RDFダンプ - contentファイルの中身

テーマ:dmozデータの利用

RDFダンプの中身ですが、

RDFとは、IT用語辞典によると、XMLをベースとしたメタデータの表現方法ということで
http://e-words.jp/w/RDF.html
RSSや XHTMLなどと同類のテキストファイルです。


content系の RDFダンプの中身は以下のような構成です。

0. content.rdf.u8.gzファイルの先頭。文字コードは UTF-8 です。

---
<?xml version='1.0' encoding='UTF-8' ?>
<RDF xmlns:r="http://www.w3.org/TR/RDF/"
  xmlns:d="http://purl.org/dc/elements/1.0/"
  xmlns="http://dmoz.org/rdf">
---

RDFタグ内の w3.orgへのリンクは http://www.w3.org/RDF/ が正しいようです。
ファイル末尾は </RDF> で閉じられています。


1. Topicタグ

--- 例
<Topic r:id="Top/World/Japanese/健康/嗜癖">
  <catid>1236925</catid>
  <link r:resource="http://www.arukenkyo.or.jp/"/>
  <link r:resource="http://www.ask.or.jp/"/>
</Topic>
---

Topic要素の r:id属性に、ディレクトリのカテゴリパスが入っています。
catid要素の値はカテゴリIDです。ODPの全ディレクトリの中で一意の値。
link要素には、r:resource属性として、そのカテゴリにリストされているURLが入ります。
カテゴリに掲載されている数だけ、link要素が並びます。


2. ExternalPageタグ

--- 例
<ExternalPage about="http://www.arukenkyo.or.jp/">
<d:Title>アルコール健康医学協会</d:Title>
<d:Description>飲酒の基礎知識とコラム、酒類と健康に関する学術情報、刊行物を紹介。</d:Description>
<topic>Top/World/Japanese/健康/嗜癖</topic>
</ExternalPage>
---

ExternalPage要素には、about属性として、掲載サイトのURL。
d:Title要素の値は、掲載タイトル。
d:Description要素の値は、掲載サイト説明文。
topic要素には、カテゴリパスが入ります。

...
...
RDFダンプから取り出したサイトリストは、RDB(リレーショナルデータベース)に読み込んで利用することが一般的だと思いますが、ネイティブXMLデータベースなら直接RDFデータを操作できるのではないかと考え、先週 Apacheの Xindice を試してみました。
試行錯誤の結果、確かに操作は可能でしたが、私のPC環境ではデータのサイズが大きすぎるそうで World/Japanese階層をそのまま取り込もうとすると OutOfMemoryErrorとなってしまいました。
Xpath式など初めて操作しましたが、面白そうではあります。
AD
いいね!した人  |  コメント(0)  |  リブログ(0)
2005-11-10 18:16:23

RDFダンプ - Kids and Teens Open Directory

テーマ:dmozデータの利用

ODPにはあと一つ、18才以下の利用者を対象にした、Kids and Teensディレクトリがあります。
http://dmoz.org/Kids_and_Teens/International/Japanese/

Kids and Teens Open Directoryは、スタンドアロンのプロジェクトとして、メインの ODPとは別個にダンプファイルが用意されています。

RDFダンプの一覧のうちの、
http://rdf.dmoz.org/rdf/
こちらのファイルになります。
kt-content.rdf.u8.gz (04-Nov-2005 03:09 2.4M)

Kids_and_Teens/International/Japanese に始まるK&T日本語階層の、先週分の掲載数は 1,158件。


このディレクトリは、こどもたちと十代の若者らにとって、安全で有益な専用のリソースを作ろうという趣旨で、2000年11月に誕生しました。
日本語階層も 2004年 5月より公開されています。

ここに開設当時の経緯が紹介されています。(2001年 12月の ODP Newsletterより)
Kids and Teens: A History (英語)Excite訳Google訳
AD
いいね!した人  |  コメント(1)  |  リブログ(0)
2005-11-09 18:19:30

RDFダンプ - もう一つの日本語階層

テーマ:dmozデータの利用
RDFダンプファイルから、もう少し。

content.rdf.u8.gz には、実はもう一つ日本語のディレクトリが含まれています。

Adult/World/Japanese に始まる、Adult階層の掲載サイトです。
・ http://dmoz.org/Adult/World/Japanese/ (注: 成人向けである点にご注意ください。)

先週のRDFダンプから、リストされたサイト数を数えてみたところ 621件でした。

ODPアダルトガイドラインに該当するサイトは、World/Japanese ではなく、こちらの掲載対象になります。

アダルトバナーが多用されているサイトや、成人向けイラストなどは全てこちらに該当します。
今は掲載数の半分以上を占めるまでに成人向けゲームの整備が進んでいます。
AD
いいね!した人  |  コメント(0)  |  リブログ(0)
2005-11-07 22:23:21

RDFダンプ - アーカイブ

テーマ:dmozデータの利用
かくも RDFダンプデータは巨大なので、あまり扱いやすいものではありません。
しかもそのサイズは大きくなる一方です。日本語階層 World/Japanese 内の掲載サイト数も増え続けています。

過去の RDFダンプは アーカイブディレクトリ に保管されています。先々週のRDFダンプ から日本語階層の掲載数を数えたところ 119,712件ありました。先週のが 120,276件なので、この 1週間で 564件の増になります。


こうも巨大化する RDFダンプデータを利用したサイトを作って、新しい RDFが出るたびにアップデートするのは、個人ベースではどうも骨がおれます。

思い返せば、今でこそこんなデータがノートPCでも扱えるようになりましたが、私がODP参加当初使用していたWindows98+数GBのHDD+56kモデム接続の環境ではとても扱える代物ではありませんでした。

そこで、なにもいちいち RDFをダウンロードしなくても、 dmoz.org サーバ上のページを直接読んで表示してしまおう、という CGIスクリプトもあるようです。

よくみかけるのは、 DWodp live や、 phpODPFarODPPersonal Open Directory などを利用したサイトです。


一方、ODPがその成果として RDFダンプを配布し、ユーザはそのダンプデータを利用してディレクトリの構築ができる、というしくみは、ODPのある時点での作業経過をウェブ上に残してくれています。

例えばここに、2001年頃のディレクトリを見ることができます。
http://search-intl.netscape.com/World/Japanese?style=subcat_ja
(styleオプションをあとから追記)

私は Netscape7 ブラウザをインストールした際にこのディレクトリを目にして初めて ODPを知り、壮大な理念の割にはなんだかまだ掲載が少ないみたいだな、などと感じて (新しいRDFによる更新もなされていなかったようですが、それを知るよしもなく)、エディタ申請書を書きました。 その後、ここまでハマることになるとは思いもよりませんでしたが。

目の前に在るディレクトリへの”不満”を”意欲”におきかえ、百件でも二百件でもサイトを追加して、整理分類して、ディレクトリを拡充してやろうじゃないか、といった有志(ボランティア)たちによって、ODPは支えられてきているようです。
いいね!した人  |  コメント(0)  |  リブログ(0)
2005-11-05 20:40:56

RDFダンプ - 日本語データの取り出し

テーマ:dmozデータの利用
RDFダンプの説明文書は下記にあります。
Open Directory RDF Dump(英語)Excite訳Google訳)。
ダンプファイルのサンプルはこんな感じ
http://rdf.dmoz.org/rdf/content.example.txt

なにしろ全ての言語階層のデータを含む巨大なファイルなので、私はとりあえず下記のような簡単なperlスクリプトを走らせて、日本語データを取り出しています。

---
#!/usr/bin/perl
open DB, "< content.rdf.u8" or die "Error1($!)\n";
open OD, "> content.ja.rdf.u8" or die "Error2($!)\n";
$wjflag = 0;
while ( <DB> ) {
if ( /\<Topic/ ) {
$wjflag = ( /r\:id\=\"Top\/World\/Japanese/ )? 1: 0;
}
if ( $wjflag ) { # World/Japaneseトピック内のみ書き出す
print OD;
}
}
close OD;
close DB;
---

掲載サイトのデータは ExternalPageタグに囲まれ、必ず改行されていますので、リスト一覧のテキストファイルを出すのはこんな感じ。

---
#!/usr/bin/perl
open DB, "< content.ja.rdf.u8" or die "Error1($!)\n";
open OD, "> content.txt" or die "Error2($!)\n";
while ( <DB> ) {
if ( /<\/ExternalPage/ ) { #タグの終わりごと、リスト出力
print OD "$xtopic\t$xurl\t\t$xtitle\t$xdesc\n";
} elsif ( /<ExternalPage/ ) { #タグの最初に変数初期化。URL値をセット
$xurl = $xtitle = $xdesc = "";
/about="(.*)"/ ;
$xurl = $1;
} elsif ( /<d:Title/ ) { # タイトル
/>(.*)<\// ;
$xtitle = $1;
} elsif ( /<d:Desc/ ) { # 説明文
/>(.*)<\// ;
$xdesc = $1;
} elsif ( /<topic/ ) { # カテゴリ名
/>(.*)<\// ;
$xtopic = $1;
}
}
close OD;
close DB;
---

処理に時間はかかりますが、こんなあんばいで掲載データ一覧は取り出せるということで。

※ データファイルの文字コードは UTF-8 です。
いいね!した人  |  コメント(0)  |  リブログ(0)
2005-11-05 12:19:50

RDFダンプ

テーマ:dmozデータの利用
ODPの RDFダンプが 11月 4日に更新されました。
http://rdf.dmoz.org/rdf/
dmozディレクトリデータベースのダンプファイルは、最近では毎週金曜日に更新されています。

このRDFダンプデータは、オープンディレクトリ・ライセンスのもとで自由に利用できますので、Google ディレクトリや、Alexa Website DirectoryThumbshots.netSpline Searchなどに用いられています。
Open Directory License(英語)Excite訳Google訳

Google ディレクトリなどの、ODPのRDFダンプを使って下さっているサイトが、いつデータを更新するのかは、私たちODPエディタにはわかりません。


掲載サイトがリストされているのは
content.rdf.u8.gz ( 04-Nov-2005 03:09 302M )
です。全言語のデータが含まれます。gz形式の圧縮されたファイルで 302MByteあるのでかなり大きい。
リンクを右クリックして、IEで「対象をファイルに保存」すると、勝手に展開されて content.rdf.u8.xmlというファイル名に保存されるようです。
Firefoxでは「名前をつけて保存」し、ダウンロード後に展開します。

展開後は、ディスクの空き容量には注意が必要なサイズです。
・ content.rdf.u8 ( 1.89GB )
これから、日本語階層の World/Japanese 内のものだけを取り出すと、
・ content.ja.rdf.u8 ( 48.5MB )
リストされたサイト数を数えてみると、120,276件。
日本語階層も、スペイン語、フランス語、イタリア語に遅れること2年、ようやく掲載数 120,000件を超えました。

※ 実は二重掲載も少なからずあるんですが、それはまた別の機会に触れます。

参考:オープンディレクトリ RDF ダンプの利用例
いいね!した人  |  コメント(0)  |  リブログ(0)

AD

ブログをはじめる

たくさんの芸能人・有名人が
書いているAmebaブログを
無料で簡単にはじめることができます。

公式トップブロガーへ応募

多くの方にご紹介したいブログを
執筆する方を「公式トップブロガー」
として認定しております。

芸能人・有名人ブログを開設

Amebaブログでは、芸能人・有名人ブログを
ご希望される著名人の方/事務所様を
随時募集しております。