なに?:ウィキペディアのページのページ間のリンク マップ (マトリックス) を次の形式で
取得しようとしています。page_id
from1 to1 to2 to3 ...
from2 to1 to2 to3 ...
...
なぜ ?:
PageRank を試すためのデータ セット (ウィキペディアのページ) を探しています。
問題: dumps.wikimedia.org
では、次のような形式の XML であるpages-articles.xmlをダウンロードできます。
<page>
<title>...</title>
<id>...</id> // pageid
<text>...</text>
</page>
記事の取得に使用します ( )。次に、ページに関する詳細を含む基本textページ データ ( page.sqlpage_id )と、最後に私に関連すると思われるデータは、ページ間のリンク レコードを含むpagelinks.sqlです。 . 問題は、pagelinksテーブルに次のフィールドがあることです: pl_from、pl_namespaceおよびpl_title。
アイデア:一時データベース、インポートpage、およびテーブルを作成し、テーブルを使用してs に従って sを取得する pagelinksことにより、このマトリックスを作成します。考えられる解決策:pagelinkspage_idpl_title
SELECT pl_from, GROUP_CONCAT(page_id SEPARATOR ' ') FROM pagelinks
JOIN page ON
pl_title = page_title AND pl_namespace = page_namespace
GROUP BY pl_from
または「バックリンク」のマップを取得する場合 (to1 from1 from2 from3 ...ではなくfrom1 to1 to2 to3 ...):
SELECT page_id, GROUP_CONCAT(pl_from SEPARATOR ' ') FROM pagelinks
JOIN page ON
pl_title = page_title AND pl_namespace = page_namespace
GROUP BY page_id
質問:自分で作成する必要がないように
、この種のページ間リンクのマトリックスを取得する場所はありますか? page_idまたは、そうでない場合、私が指摘した解決策よりもこの種のマトリックスを取得する方法はありますか?