/// <summary> /// Return the JSON string of the entities /// </summary> /// <param name="Site">Mediawiki site (ex. itwiki)</param> /// <param name="Pages">List of pages separated by |</param> /// <param name="Type">What retrieve</param> /// <returns>JSON string</returns> public string LoadWD(string Site, string Pages, LoadTypeWD Type = LoadTypeWD.All) { string Titles = "&sites=" + HttpUtility.UrlEncode(Site) + "&titles=" + HttpUtility.UrlEncode(Pages); string post = ""; switch (Type) { case LoadTypeWD.All: post = "action=wbgetentities&format=json" + Titles + "&redirects=yes"; break; case LoadTypeWD.Label: post = "action=wbgetentities&format=json" + Titles + "&redirects=yes&props=labels"; break; case LoadTypeWD.Description: post = "action=wbgetentities&format=json=" + Titles + "&redirects=yes&props=descriptions"; break; case LoadTypeWD.LabelDescriptionSitelink: post = "action=wbgetentities&format=json" + Titles + "&redirects=yes&props=labels|descriptions|sitelinks"; break; default: break; } return(PostRequest(this._URL + this._API, post)); }
/// <summary>Return the JSON string of the entities using Qnumber</summary> /// <param name="entities">List of entities separated by | (ex. Q1|Q2)</param> /// <param name="type">What retrieve, default is LoadTypeWD.All (ex. LoadTypeWD.Label)</param> /// <returns>JSON string of the items</returns> /// /// <remarks>See also https://www.mediawiki.org/wiki/Wikibase/API/it#wbgetentities </remarks> public string LoadWD(string entities, LoadTypeWD type = LoadTypeWD.All) { string post = ""; switch (type) { case LoadTypeWD.All: post = string.Format("format=json&redirects=yes&ids={0}", entities); break; case LoadTypeWD.Label: post = string.Format("format=json&redirects=yes&ids={0}&props=labels", entities); break; case LoadTypeWD.Description: post = string.Format("format=json&redirects=yes&ids={0}&props=descriptions", entities); break; case LoadTypeWD.LabelDescriptionSitelink: post = string.Format("format=json&redirects=yes&ids={0}&props=labels|descriptions|sitelinks", entities); break; case LoadTypeWD.LabelSitelink: post = string.Format("format=json&redirects=yes&ids={0}&props=labels|sitelinks", entities); break; default: break; } return(PostRequest(_url + _api + "?action=wbgetentities", post)); }
/// <summary> /// Return the JSON string of the entities /// </summary> /// <param name="Entities">List of entities separated by |</param> /// <param name="Type">What retrieve</param> /// <returns>JSON string</returns> public string LoadWD(string Entities, LoadTypeWD Type = LoadTypeWD.All) { string post = ""; switch (Type) { case LoadTypeWD.All: post = "action=wbgetentities&format=json&ids=" + Entities + "&redirects=yes"; break; case LoadTypeWD.Label: post = "action=wbgetentities&format=json&ids=" + Entities + "&redirects=yes&props=labels"; break; case LoadTypeWD.Description: post = "action=wbgetentities&format=json&ids=" + Entities + "&redirects=yes&props=descriptions"; break; case LoadTypeWD.LabelDescriptionSitelink: post = "action=wbgetentities&format=json&ids=" + Entities + "&redirects=yes&props=labels|descriptions|sitelinks"; break; default: break; } return(PostRequest(this._URL + this._API, post)); }
/// <summary>Return the JSON string of the entities using title + wiki</summary> /// <param name="langSite">Mediawiki site (ex. itwiki)</param> /// <param name="pages">List of pages separated by | (ex. Page1|Page2)</param> /// <param name="type">What retrieve, ex. LoadTypeWD.Label. Default is LoadTypeWD.All</param> /// <returns>JSON string of the items</returns> /// <remarks>See also https://www.mediawiki.org/wiki/Wikibase/API/it#wbgetentities </remarks> public string LoadWD(string langSite, string pages, LoadTypeWD type = LoadTypeWD.All) { string post = ""; switch (type) { case LoadTypeWD.All: post = string.Format("action=wbgetentities&format=json&redirects=yes&sites={0}&titles={1}", WebUtility.UrlEncode(langSite), WebUtility.UrlEncode(pages)); break; case LoadTypeWD.Label: post = string.Format("action=wbgetentities&format=json&redirects=yes&sites={0}&titles={1}&props=labels", WebUtility.UrlEncode(langSite), WebUtility.UrlEncode(pages)); break; case LoadTypeWD.Description: post = string.Format("action=wbgetentities&format=json&redirects=yes&sites={0}&titles={1}&props=descriptions", WebUtility.UrlEncode(langSite), WebUtility.UrlEncode(pages)); break; case LoadTypeWD.LabelDescriptionSitelink: post = string.Format("action=wbgetentities&format=json&redirects=yes&sites={0}&titles={1}&props=labels|descriptions|sitelinks", WebUtility.UrlEncode(langSite), WebUtility.UrlEncode(pages)); break; default: break; } return(PostRequest(_url + _api, post)); }