如何构建维基百科类别层次结构?

时间:2014-12-03 19:04:31

标签: wikipedia

我正在尝试构建维基百科文章及其类别的树形图。我需要做什么?

从此网站(http://dumps.wikimedia.org/enwiki/latest/),我已下载:

  • enwiki-最新-page.sql.gz
  • enwiki-最新-categorylinks.sql.gz
  • enwiki-20141106-category.sql.gz

我尝试按照此处的答案(Wikipedia Category Hierarchy from dumps),但似乎没有类别链接具有相同的架构(没有pageId列)。

构建层次结构的正确方法是什么?

奖金问题:如何判断enwiki-latest-page.sql.gz中的哪些35M页面是文章(根据维基百科的统计数据,大概是5M)

由于

2 个答案:

答案 0 :(得分:3)

是的,事实证明这stackoverflow answer是正确的。它引用了正确的数据集,但我太密集了,无法理解如何将它们联系在一起。

感谢@svick引导我完成私人聊天中的各个步骤。

为了他人的利益,我已经明确详细说明了数据集之间的关系以及在我的博客中遍历图表的确切步骤,这是我们私人聊天的摘要。

Parsing Wikipedia Page Hierarchy

答案 1 :(得分:1)

我遇到了日本维基百科的同样问题。

我解决了这个问题如下:

  • 获取类别,类别链接,页面的sql并导入我的mysql服务器。
  • 运行以下命令。您可以获得'学问'。
  • 的子类别
    MariaDB [wikipedia]> select page.page_title from categorylinks join page on page.page_id = categorylinks.cl_from join category on categorylinks.cl_to = category.cat_title where categorylinks.cl_type = 'subcat' and category.cat_title like '学問';
+-----------------------------------+
| page_title                        |
+-----------------------------------+
| 学問の分野                        |
| 科学                              |
| 学問スタブ                        |
| 架空の思想・学問                  |
| 学者                              |
| 学術出版                          |
| 学術称号                          |
| 学術団体                          |
| 学生                              |
| 学派                              |
| 学問の賞                          |
| 研究                              |
| 高等教育                          |
| 知識                              |
| 問題                              |
| ルネサンス・ユマニスム            |
+-----------------------------------+
16 rows in set (0.00 sec)