private void CompleteExample() { //Wikidata query string strWDQ = "CLAIM[31:24862] AND CLAIM[57] AND BETWEEN[577,+00000001908-00-00T00:00:00Z,+00000001908-12-31T00:00:00Z]"; ListGenerator lg = new ListGenerator(); List <string> chunks = lg.WDQ(strWDQ, 50); //Connection to Wikipedia WikimediaAPI WP = new WikimediaAPI("https://it.wikipedia.org", User, Password); Pages PageList = new Pages(); //Connection to Wikidata WikimediaAPI WD = new WikimediaAPI("https://www.wikidata.org", User, Password); Entities EntityList = new Entities(); Dictionary <string, string> Labels = new Dictionary <string, string>(); foreach (string list in chunks) { // Load all the entity of the chunk string strJson = WD.LoadWD(list); EntityList = new Entities(); EntityList = JsonConvert.DeserializeObject <Entities>(strJson, new DatavalueConverter()); foreach (KeyValuePair <string, Entity> entity in EntityList.entities) { if (entity.Value.sitelinks.ContainsKey("itwiki")) { // Load Wikipage string Pages = WP.LoadWP(entity.Value.sitelinks["itwiki"].title); PageList = JsonConvert.DeserializeObject <Pages>(Pages, new DatavalueConverter()); //Director from template string director = Utility.GetTemplateParameter(PageList.query.FirstPageText, "film", "Regista").Replace("[", "").Replace("]", ""); Labels = new Dictionary <string, string>(); if (director == "") { Labels.Add("en", "1908 short movie"); } else { Labels.Add("en", "1908 short movie directed by " + director); } // Update Wikidata WD.EditEntity(entity.Value.id, null, Labels, null, null, null, "BOT: Update en label"); } } } }