Wikipedia has lots of scientific information, however, due to its nature, it is still not considered as a research resource. This doesn’t mean it has to be ignored. I have checked some pages related with various topics in GIS field. Most of them are well-written, the information are actually quite accurate, several contributors are the professionals in the field. In this post, I like to check some metadata information of “Mathematica” Page on Wikipedia, it may gives us some ideas about its quality.
Tools we need: Mediawiki API and Mathematica. There are plenty examples on how to use Mediawiki api. Basic procedure is to use Import[queryurl,”XML”], then parse xml to get the information we need.
Page revision history:
(* import contributor and timestamp *)
url = "http://en.wikipedia.org/w/api.php?action=query&prop=revisions&\
titles=Mathematica&rvprop=user|timestamp&rvlimit=500&redirects$rvuser&\
format=xml";
xml = Import[url, "XML"];
rawdata= Cases[xml, XMLElement["rev", w_, _] :> w, Infinity];
data = {"user", "timestamp"} /. rawdata;
This page is constantly revised, we probably can assume the information on “Mathematica” page is up-to-date.
The information on the contributors is also interesting.
We can dig out more information on the contributors:
(* import paged edited by each user *)
userpages[usr_] :=
Module[{url, uxml, udata, unicase},
url = "http://en.wikipedia.org/w/api.php?action=query&list=\
usercontribs&uclimit=500&format=xml&ucuser=" <> usr;
uxml = Import[url, "XML"];
udata = Cases[uxml, XMLElement["item", w_, _] :> w, Infinity];
unicase = DeleteCases[Union["title" /. udata ],
x_ /; (StringMatchQ[x, "User talk:" ~~ __] || StringMatchQ[x, "Talk:" ~~ __] || StringMatchQ[x, "User:" ~~ __])]; Map[usr -> # &, unicase]];
The common pages edited by these top5 contributors:
From the pages they have edited, they have worked on several topics closely related with Mathematica. This looks good, we may say they probably know what they are doing.
Update:
Download Wikipedia Notebook for the details.