Actualização das páginas órfãs

Ouvir com webReader

A pedido do Lijealso, aqui vai uma actualização das estatísticas incompletas da Wikipédia lusófona para o caso das páginas órfãs.

Constatou-se que o dump utilizado anteriormente era insuficiente, pelo que se descarregou a tabela pagelinks, desta vez do dump de 20091015. Para se excluir os redireccionamentos, importou-se também a tabela redirect.

Fartei-me entretanto de alternar entre o que estava a fazer e a lista de códigos de domínios, pelo que criei uma pequena tabela auxiliar:

MySQL:
  1. mysql> CREATE TABLE _namespaces ( id TINYINT NOT NULL, namespace VARCHAR(50), PRIMARY KEY (id) );
  2. Query OK, 0 rows affected (0.01 sec)
  3.  
  4. mysql> INSERT INTO _namespaces VALUES (-2,'Media'),(-1,'Especial'),(0,''),(1,'Discussão'),(2,'Usuário'),(3,'Usuário Discussão'),(4,'Wikipedia'),(5,'Wikipedia Discussão'),(6,'Ficheiro'),(7,'Ficheiro Discussão'),(8,'MediaWiki'),(9,'MediaWiki Discussão'),(10,'Predefinição'),(11,'Predefinição Discussão'),(12,'Ajuda'),(13,'Ajuda Discussão'),(14,'Categoria'),(15,'Categoria Discussão'),(100,'Portal'),(101,'Portal Discussão'),(102,'Anexo'),(103,'Anexo Discussão');
  5. Query OK, 22 rows affected (0.00 sec)
  6. Records: 22  Duplicates: 0  WARNINGS: 0

O resultado deu-me um incrível total de 769854 páginas órfãs, pelo que decidi separá-las por namespace para permitir prioritizar a análise:

MySQL:
  1. mysql> SELECT p.page_namespace,count(1) FROM page p
  2.     -> LEFT JOIN redirect  r
  3.     -> ON p.page_id = r.rd_from
  4.     ->
  5.     -> LEFT JOIN pagelinks pl
  6.     -> on pl.pl_namespace = p.page_namespace
  7.     -> and pl.pl_title = p.page_title
  8.     ->
  9.     -> WHERE r.rd_from IS NULL
  10.     -> AND pl.pl_from IS NULL
  11.     ->
  12.     -> GROUP BY p.page_namespace;
  13. +----------------+----------+
  14. | page_namespace | count(1) |
  15. +----------------+----------+
  16. |              0 |    12958 |
  17. |              1 |   103645 |
  18. |              2 |    16592 |
  19. |              3 |   568675 |
  20. |              4 |     1954 |
  21. |              5 |      856 |
  22. |              8 |      773 |
  23. |              9 |       17 |
  24. |             10 |     7522 |
  25. |             11 |     1014 |
  26. |             12 |        3 |
  27. |             13 |       27 |
  28. |             14 |    51735 |
  29. |             15 |     1315 |
  30. |            100 |     1190 |
  31. |            101 |      117 |
  32. |            102 |      173 |
  33. |            103 |     1288 |
  34. +----------------+----------+
  35. 18 rows in SET (20.90 sec)

O resultado do cruzamento das duas tabelas foi afixado aqui, com uma listagem de 15M para os 12958 artigos no domínio principal. Na verdade, esta listagem foi feita para colar numa página wiki, no entanto tenham em atenção que são 15M, pelo que não recomendo fazê-lo. Têm outras listas (como a mais simples, em formato pageid,namespace,title) nessa directoria.


You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

AddThis Social Bookmark Button

Leave a Reply