0

dmoz/ODP ファイルからの URL だけが必要です。しかし、ファイルはRDFです。odp ファイルから URL のみを取得するにはどうすればよいですか? すべての URL をテキスト ファイルに抽出したいと考えています。

rdf ファイルから URL のみを解析するスクリプトを知っている人はいますか?

4

3 に答える 3

2

一般的な SemWeb API のいくつか (Jena、Sesame、および dotNetRDF) はすべて、RDF ファイル用の完全なストリーミング API を提供するため、生成された URI のみを取得し、興味のない残りのものを破棄するカスタム データ ハンドラーを作成できます。 .

おそらく perl を使ってハッキーなことをすることができます。そのほうが速いかもしれませんが、特に RDF が解決する必要がある相対 URI を使用している場合は、完全に正確ではないかもしれません。

于 2011-11-01T03:52:06.563 に答える
1

オプション 1. http://sourceforge.net/projects/dmoz2mysql/files/latest/downloadから dmoz_v3.zip をダウンロードします。これは、DMOZ RDF データ ダンプ ファイルを自動的に解析するために使用される PHP スクリプトです。ファイルのダウンロード、データの抽出、クリーニング、解析、および MySQL データベースへの挿入が特徴です。

オプション 2. 次のリンクを使用して、RDF ダンプファイルから URL を抽出するツールを見つけます。

http://www.dmoz.org/Computers/Internet/Searching/Directories/Open_Directory_Project/Use_of_ODP_Data/Upload_Tools/

于 2013-06-19T10:00:06.957 に答える
1

たぶん、このようなものはありますか?

#!/usr/bin/perl
use strict;
use warnings;

my $file = "kt-content.rdf.u8";
my @urls;

open(my $fh, "<", $file) or die "Unable to open $file\n";

while (my $line = <$fh>) {
    if ($line =~ m/<(?:ExternalPage about|link r:resource)="([^\"]+)"\/?>/) {
        push @urls, $1;
    }
}

close $fh;

次に、@urls の内容をテキスト ファイルに出力します。

于 2011-10-31T22:46:36.207 に答える