本ページでは、6章で利用するデータやプログラムを紹介する。
日本語Wikipediaのデータベースダウンロードのページ
xml2sql:pageのデータをXML形式でまとめたファイル(jawiki-latest-pages-articles.xml.bz2)を利用してデータをインポート
本実験で用いる最新版のデータ定義ファイルのURLを記述したファイルに対応する以下の4つのファイルをダウンロードする。
page: jawiki-latest-page.sql.gz
langlinks: jawiki-latest-langlinks.sql.gz
redirect: jawiki-latest-redirect.sql.gz
pagelinks: jawiki-latest-pagelinks.sql.gz
使用するデータベースのマニュアルに従い、新しいデータベースを作成したあと、上記の4つのファイルを解凍(linuxならgzip -dなどを利用)してから、読み込むこと。
コード6.5 日英の翻訳辞書構築
select ll_title, page_title from langlinks inner join page on
langlinks.ll_from = page.page_id where ll_lang="en"
コード6.6 日本語のWikipediaと言語間リンクを持つ他の言語の数
select count(distinct(ll_lang)) from langlinks;
コード6.7 翻訳対の多いページリスト
select page_title, count(ll_lang) from page inner join
langlinks on langlinks.ll_from = page.page_id group by ll_from order
by count(ll_lang) desc limit 10;
コード6.8 「バラク・オバマ」のページへの転送元リスト
SELECT page_title, rd_title from redirect join page on
redirect.rd_from = page.page_id where rd_title="バラク・オバマ"
コード6.9 「(2E,6E)-ファルネシル二リン酸シンターゼ」のページへの転送元リスト
SELECT page_title, rd_title from redirect join page on
redirect.rd_from = page.page_id where rd_title="(2E,6E)-ファルネシル二リン酸シンターゼ"
コード6.10 「谷川岳」のページへの転送元リスト
SELECT page_title, rd_title from redirect join page on
redirect.rd_from = page.page_id where rd_title="谷川岳"
コード6.11 曖昧さ回避のためのページの収集
SELECT page_title from page where page_namespace = 0 and page_title like '%曖昧さ回避%'
コード6.13 「ダラス」のページに存在する他のページへのリンク先を収集
select pl_title from pagelinks left join page on pagelinks.pl_from =
page.page_id where page_title = 'ダラス' and pl_namespace=0 and
pl_from_namespace = 0
コード6.14 「ダラス」のページと「テキサス州」に共通して存在する他のページへのリンク先を収集
select pagelinks2.pl_title AS pl_title from pagelinks pagelinks2 join
page page2 join pagelinks join page where ((pagelinks2.pl_from =
page2.page_id) and (page.page_id = pagelinks.pl_from) and
(pagelinks.pl_from_namespace = 0) and (pagelinks.pl_namespace = 0) and
(page.page_title = 'ダラス') and (pagelinks.pl_title = pagelinks2.pl_title)
and (page2.page_title = 'テキサス州'));
pythonでMySQLを利用するために、MySQLDBというライブラリを利用しています。利用方法については「mysqldb python」などで検索すると様々なページが見つかります。
プログラムの漢字コードは、UTF-8に設定していますが、ブラウザ上では文字化けする可能性があります。文字化けをしている場合には、ダウンロードして確認ください。
免責事項:このページに掲載しているプログラムやコードにつきましては、動作の確認をしていますが、計算機環境の違いなどにより、動作しない場合などが考えられます。また、これらのプログラムやコードを使用することによって生じたいかなる損害についても、本サイトは一切責任を負いません。
本ページ群に掲載している情報は、2020年3月の情報であり、リンク切れやソフトウェア等のバージョンアップに関する対応については、必ずしも保証されていないことをご了承ください。
また、授業などで用いる場合には、Wikipediaダンプへのダウンロードを行う際に、過度の集中などが起きないようにご配慮ねがいます。