Как извлечь только URL из файла Dmoz ODP (в RDF) - PullRequest
0 голосов
/ 01 ноября 2011

Мне нужны только URL из файла dmoz / ODP.Но файл находится в RDF.Как я могу получить только URL-адреса из файла odp?Я хочу извлечь все URL-адреса в текстовый файл.

Кто-нибудь знает какой-либо сценарий для анализа только URL-адресов из файла rdf?

Ответы [ 3 ]

2 голосов
/ 01 ноября 2011

Несколько популярных API SemWeb (Jena, Sesame и dotNetRDF) предоставляют полностью потоковые API для файлов RDF, так что вы можете написать собственный обработчик данных, который будет принимать только созданные URI и выбрасывать оставшиеся вещи, которые вам не нужны. интересует.

Вероятно, вы можете сделать что-то хакерское с Perl, и это может быть быстрее, но это может быть не совсем точно, особенно если RDF использует относительные URI, которые необходимо разрешить

2 голосов
/ 01 ноября 2011

Может быть тогда что-то вроде этого?

#!/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 в текстовый файл.

1 голос
/ 19 июня 2013

Вариант 1. Загрузите файл dmoz_v3.zip из http://sourceforge.net/projects/dmoz2mysql/files/latest/download. Это сценарий PHP, который используется для автоматического анализа файлов дампа данных DMOZ RDF.Он позволяет загружать файлы, извлекать, очищать, анализировать и вставлять данные в базу данных MySQL.

Вариант 2. Используйте следующую ссылку, чтобы найти инструменты для извлечения URL-адресов из файлов дампа RDF

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

...