2014-01-24 74 views
2

我下载了维基百科Pagelinks数据集(可在Wiki Dumps上找到 - http://dumps.wikimedia.org/enwiki/20140102/)。我想在数据集上运行PageRank算法,但是我无法解析数据,因为它没有很好的记录。解析维基百科Pagelink数据集

这是下载的数据集的示例。给出的字段是p1_from,p1_namespace和p1_title。在线看,p1_namespace是一个表示文章类型的数字,但我不知道p1_from是什么。要实现pagerank算法,我想要链接到特定文章的文章数量,但是,我不知道p1_from代表什么。从它的名字来看,这听起来像是从这篇文章中删除的链接的数量,而不是相反。是这样吗?而且,如果是这样,我怎样才能在给定数据的情况下反转图表,以便找到正确的数字。

DROP TABLE IF EXISTS `pagelinks`; 
/*!40101 SET @saved_cs_client  = @@character_set_client */; 
/*!40101 SET character_set_client = utf8 */; 
CREATE TABLE `pagelinks` (
    `pl_from` int(8) unsigned NOT NULL DEFAULT '0', 
    `pl_namespace` int(11) NOT NULL DEFAULT '0', 
    `pl_title` varbinary(255) NOT NULL DEFAULT '', 
    UNIQUE KEY `pl_from` (`pl_from`,`pl_namespace`,`pl_title`), 
    KEY `pl_namespace` (`pl_namespace`,`pl_title`,`pl_from`) 
) ENGINE=InnoDB DEFAULT CHARSET=binary; 
/*!40101 SET character_set_client = @saved_cs_client */; 

-- 
-- Dumping data for table `pagelinks` 
-- 

/*!40000 ALTER TABLE `pagelinks` DISABLE KEYS */; 
INSERT INTO `pagelinks` VALUES (10,0,'Computer_accessibility'),(12,0,'-ism'),(12,0,'1848_Revolution'),(12,0,'1917_October_Revolution'), 

(12,0,'1919_United_States_anarchist_bombings'),(12,0,'19th_century_philosophy'), 
(12,0,'6_February_1934_crisis'),(12,0,'A._K._Press'),(12,0,'A._S._Neill'),(12,0,'AK_Press'),(12,0,'A_Greek–English_Lexicon'),(12,0,'A_Language_Older_Than_Words'), 
(12,0,'A_Vindication_of_Natural_Society'),(12,0,'A_las_Barricadas'),(12,0,'Abbie_Hoffman'),(12,0,'Absolute_idealism'),(12,0,'Abstentionism'),(12,0,'Action_theory_(philosophy)'), 
(12,0,'Adam_Smith'),(12,0,'Adolf_Brand'),(12,0,'Adolf_Hitler'),(12,0,'Adolphe_Thiers'),(12,0,'Aesthetic_emotions'),(12,0,'Aesthetics'),(12,0,'Affinity_group'),(12,0,'Affinity_groups'), 
(12,0,'African_philosophy'),(12,0,'Against_Civilization:_Readings_and_Reflections'),(12,0,'Against_His-Story,_Against_Leviathan'),(12,0,'Age_of_Enlightenment'),(12,0,'Agriculturalism'), 
(12,0,'Agriculture'),(12,0,'Al-Ghazali'),(12,0,'Alain_Badiou'),(12,0,'Alain_de_Benoist'),(12,0,'Albert_Camus'),(12,0,'Albert_Libertad'),(12,0,'Albert_Meltzer'),(12,0,'Aleister_Crowley'), 
(12,0,'Alex_Comfort'),(12,0,'Alexander_Berkman'),(12,0,'Alexandre_Christoyannopoulos'),(12,0,'Alexandre_Skirda'),(12,0,'Alfredo_M._Bonanno') 

回答

3

我无法解析数据,因为它没有很好的记录。

SQL转储包含直接来自MediaWiki使用的MySQL表的数据。这些表格记录在mediawiki.org上,在你的情况下是the pagelinks table

给出的字段是p1_from,p1_namespace和p1_title。

没有,这不是一个1(一个号码),它是一个l(字母L),pl是短期的pagelinks

我不知道p1_from是什么。

从文档,这就是“键包含链接的页面PAGE_ID。”要找出链接来自网页的名称,您将需要the page table