wikidata-sdk
Advanced tools
Comparing version 2.0.0 to 2.1.1
// Generated by CoffeeScript 1.9.3 | ||
(function() { | ||
var buildUrl, wd_; | ||
var buildUrl, isPlainObject, wd_; | ||
@@ -9,15 +9,15 @@ wd_ = require('../helpers/helpers'); | ||
isPlainObject = require('../utils/utils').isPlainObject; | ||
module.exports = function(search, language, limit, format) { | ||
if (language == null) { | ||
language = 'en'; | ||
var ref; | ||
if (isPlainObject(search)) { | ||
ref = search, search = ref.search, language = ref.language, limit = ref.limit, format = ref.format; | ||
} | ||
if (limit == null) { | ||
limit = '20'; | ||
} | ||
if (format == null) { | ||
format = 'json'; | ||
} | ||
if (!((search != null ? search.length : void 0) > 0)) { | ||
throw new Error("search can't be undefined"); | ||
throw new Error("search can't be empty"); | ||
} | ||
language || (language = 'en'); | ||
limit || (limit = '20'); | ||
format || (format = '20'); | ||
return buildUrl('wikidata', { | ||
@@ -24,0 +24,0 @@ action: 'wbsearchentities', |
@@ -13,2 +13,4 @@ // Generated by CoffeeScript 1.9.3 | ||
wdk.getWikidataIdsFromSitelinks = require('./queries/get_wikidata_ids_from_sitelinks'); | ||
wdk.getReverseClaims = require('./queries/wdq_get_reverse_claims'); | ||
@@ -20,2 +22,4 @@ | ||
wdk.getWikidataIdsFromWikipediaTitles = wdk.getWikidataIdsFromSitelinks; | ||
wdk.helpers = helpers; | ||
@@ -22,0 +26,0 @@ |
@@ -390,2 +390,52 @@ (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.wdk = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ | ||
(function() { | ||
var buildUrl, forceArray, isPlainObject, parseSite, ref, shortLang; | ||
buildUrl = require('../utils/build_url'); | ||
ref = require('../utils/utils'), isPlainObject = ref.isPlainObject, forceArray = ref.forceArray, shortLang = ref.shortLang; | ||
module.exports = function(titles, sites, languages, props, format) { | ||
var query, ref1; | ||
if (isPlainObject(titles)) { | ||
ref1 = titles, titles = ref1.titles, sites = ref1.sites, languages = ref1.languages, props = ref1.props, format = ref1.format; | ||
} | ||
format || (format = 'json'); | ||
if ((titles == null) || titles.length === 0) { | ||
throw new Error('no title provided'); | ||
} | ||
if ((sites == null) || sites.length === 0) { | ||
sites = ['enwiki']; | ||
} | ||
titles = forceArray(titles); | ||
sites = forceArray(sites).map(parseSite); | ||
props = forceArray(props); | ||
query = { | ||
action: 'wbgetentities', | ||
titles: titles.join('|'), | ||
sites: sites.join('|'), | ||
format: format | ||
}; | ||
if (languages != null) { | ||
languages = forceArray(languages).map(shortLang); | ||
query.languages = languages.join('|'); | ||
} | ||
if ((props != null ? props.length : void 0) > 0) { | ||
query.props = props.join('|'); | ||
} | ||
return buildUrl('wikidata', query); | ||
}; | ||
parseSite = function(site) { | ||
if (site.length === 2) { | ||
return site + "wiki"; | ||
} else { | ||
return site; | ||
} | ||
}; | ||
}).call(this); | ||
},{"../utils/build_url":12,"../utils/utils":14}],9:[function(require,module,exports){ | ||
// Generated by CoffeeScript 1.9.3 | ||
(function() { | ||
var buildUrl, wd_, wdq_; | ||
@@ -423,3 +473,3 @@ | ||
},{"../helpers/helpers":4,"../utils/build_url":11}],9:[function(require,module,exports){ | ||
},{"../helpers/helpers":4,"../utils/build_url":12}],10:[function(require,module,exports){ | ||
// Generated by CoffeeScript 1.9.3 | ||
@@ -463,6 +513,6 @@ (function() { | ||
},{"../helpers/helpers":4,"../utils/build_url":11,"../utils/utils":13}],10:[function(require,module,exports){ | ||
},{"../helpers/helpers":4,"../utils/build_url":12,"../utils/utils":14}],11:[function(require,module,exports){ | ||
// Generated by CoffeeScript 1.9.3 | ||
(function() { | ||
var buildUrl, wd_; | ||
var buildUrl, isPlainObject, wd_; | ||
@@ -473,15 +523,15 @@ wd_ = require('../helpers/helpers'); | ||
isPlainObject = require('../utils/utils').isPlainObject; | ||
module.exports = function(search, language, limit, format) { | ||
if (language == null) { | ||
language = 'en'; | ||
var ref; | ||
if (isPlainObject(search)) { | ||
ref = search, search = ref.search, language = ref.language, limit = ref.limit, format = ref.format; | ||
} | ||
if (limit == null) { | ||
limit = '20'; | ||
} | ||
if (format == null) { | ||
format = 'json'; | ||
} | ||
if (!((search != null ? search.length : void 0) > 0)) { | ||
throw new Error("search can't be undefined"); | ||
throw new Error("search can't be empty"); | ||
} | ||
language || (language = 'en'); | ||
limit || (limit = '20'); | ||
format || (format = '20'); | ||
return buildUrl('wikidata', { | ||
@@ -498,3 +548,3 @@ action: 'wbsearchentities', | ||
},{"../helpers/helpers":4,"../utils/build_url":11}],11:[function(require,module,exports){ | ||
},{"../helpers/helpers":4,"../utils/build_url":12,"../utils/utils":14}],12:[function(require,module,exports){ | ||
// Generated by CoffeeScript 1.9.3 | ||
@@ -523,3 +573,3 @@ (function() { | ||
},{"./querystring_lite":12,"querystring":3}],12:[function(require,module,exports){ | ||
},{"./querystring_lite":13,"querystring":3}],13:[function(require,module,exports){ | ||
// Generated by CoffeeScript 1.9.3 | ||
@@ -547,3 +597,3 @@ (function() { | ||
},{}],13:[function(require,module,exports){ | ||
},{}],14:[function(require,module,exports){ | ||
// Generated by CoffeeScript 1.9.3 | ||
@@ -577,3 +627,3 @@ (function() { | ||
},{}],14:[function(require,module,exports){ | ||
},{}],15:[function(require,module,exports){ | ||
// Generated by CoffeeScript 1.9.3 | ||
@@ -591,2 +641,4 @@ (function() { | ||
wdk.getWikidataIdsFromSitelinks = require('./queries/get_wikidata_ids_from_sitelinks'); | ||
wdk.getReverseClaims = require('./queries/wdq_get_reverse_claims'); | ||
@@ -598,2 +650,4 @@ | ||
wdk.getWikidataIdsFromWikipediaTitles = wdk.getWikidataIdsFromSitelinks; | ||
wdk.helpers = helpers; | ||
@@ -608,3 +662,3 @@ | ||
},{"./helpers/helpers":4,"./helpers/parse_responses":5,"./helpers/simplify_claims":6,"./queries/wdq_get_reverse_claims":8,"./queries/wikidata_get_entities":9,"./queries/wikidata_search_entities":10}]},{},[14])(14) | ||
},{"./helpers/helpers":4,"./helpers/parse_responses":5,"./helpers/simplify_claims":6,"./queries/get_wikidata_ids_from_sitelinks":8,"./queries/wdq_get_reverse_claims":9,"./queries/wikidata_get_entities":10,"./queries/wikidata_search_entities":11}]},{},[15])(15) | ||
}); |
@@ -1,1 +0,1 @@ | ||
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.wdk=e()}}(function(){return function e(t,n,i){function r(a,u){if(!n[a]){if(!t[a]){var s="function"==typeof require&&require;if(!u&&s)return s(a,!0);if(o)return o(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[a]={exports:{}};t[a][0].call(c.exports,function(e){var n=t[a][1][e];return r(n?n:e)},c,c.exports,e,t,n,i)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;a<i.length;a++)r(i[a]);return r}({1:[function(e,t,n){"use strict";function i(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.exports=function(e,t,n,o){t=t||"&",n=n||"=";var a={};if("string"!=typeof e||0===e.length)return a;var u=/\+/g;e=e.split(t);var s=1e3;o&&"number"==typeof o.maxKeys&&(s=o.maxKeys);var l=e.length;s>0&&l>s&&(l=s);for(var c=0;l>c;++c){var f,d,p,m,h=e[c].replace(u,"%20"),v=h.indexOf(n);v>=0?(f=h.substr(0,v),d=h.substr(v+1)):(f=h,d=""),p=decodeURIComponent(f),m=decodeURIComponent(d),i(a,p)?r(a[p])?a[p].push(m):a[p]=[a[p],m]:a[p]=m}return a};var r=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},{}],2:[function(e,t,n){"use strict";function i(e,t){if(e.map)return e.map(t);for(var n=[],i=0;i<e.length;i++)n.push(t(e[i],i));return n}var r=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};t.exports=function(e,t,n,u){return t=t||"&",n=n||"=",null===e&&(e=void 0),"object"==typeof e?i(a(e),function(a){var u=encodeURIComponent(r(a))+n;return o(e[a])?i(e[a],function(e){return u+encodeURIComponent(r(e))}).join(t):u+encodeURIComponent(r(e[a]))}).join(t):u?encodeURIComponent(r(u))+n+encodeURIComponent(r(e)):""};var o=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},a=Object.keys||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t}},{}],3:[function(e,t,n){"use strict";n.decode=n.parse=e("./decode"),n.encode=n.stringify=e("./encode")},{"./decode":1,"./encode":2}],4:[function(e,t,n){(function(){var n,i;i=e("./wikidata_time_to_date_object"),n={},n.isNumericId=function(e){return/^[0-9]+$/.test(e)},n.isWikidataId=function(e){return/^(Q|P)[0-9]+$/.test(e)},n.isWikidataEntityId=function(e){return/^Q[0-9]+$/.test(e)},n.isWikidataPropertyId=function(e){return/^P[0-9]+$/.test(e)},n.normalizeId=function(e,t,i){if(null==i&&(i="Q"),n.isNumericId(e))return t?e:""+i+e;if(n.isWikidataId(e))return t?e.slice(1):e;throw new Error("invalid id")},n.getNumericId=function(e){if(!n.isWikidataId(e))throw new Error("invalid wikidata id: "+e);return e.replace(/Q|P/,"")},n.normalizeIds=function(e,t,i){return null==i&&(i="Q"),e.map(function(e){return n.normalizeId(e,t,i)})},n.wikidataTimeToDateObject=i,n.wikidataTimeToEpochTime=function(e){return i(e).getTime()},n.wikidataTimeToISOString=function(e){return i(e).toISOString()},n.normalizeWikidataTime=n.wikidataTimeToEpochTime,t.exports=n}).call(this)},{"./wikidata_time_to_date_object":7}],5:[function(e,t,n){(function(){var n,i;i=e("./helpers"),n=e("./simplify_claims"),t.exports={wd:{entities:function(e){var t,i,r;e=e.body||e,t=e.entities;for(r in t)i=t[r],i.claims=n(i.claims);return t}},wdq:{entities:function(e){var t;return e=e.body||e,null!=(t=e.items)?t.map(function(e){return i.normalizeId(e)}):void 0}}}}).call(this)},{"./helpers":4,"./simplify_claims":6}],6:[function(e,t,n){(function(){var n,i;i=e("./helpers"),t.exports=function(e){var t,i,r;r={};for(i in e)t=e[i],r[i]=t.map(n);return r},n=function(e){var t,n,r,o;if(r=e.mainsnak,null!=r){if(t=r.datatype,n=r.datavalue,null==n)return null;switch(t){case"string":case"commonsMedia":case"url":o=n.value;break;case"monolingualtext":o=n.value.text;break;case"wikibase-item":o="Q"+n.value["numeric-id"];break;case"time":o=i.normalizeWikidataTime(n.value.time);break;default:o=null}return o}}}).call(this)},{"./helpers":4}],7:[function(e,t,n){(function(){var e,n,i,r;t.exports=function(t){var n,r,o;return o=t[0],r=t.slice(1),n=e(o,r),"Invalid Date"===n.toString()?i(o,r):n},e=function(e,t){return"-"===e?n(t):r(t)},r=function(e){return new Date(e)},n=function(e){var t;return t="-00"+e,new Date(t)},i=function(t,n){var i,r,o,a;return o=n.split("T")[0].split("-"),a=o[0],r=o[1],i=o[2],e(t,a)}}).call(this)},{}],8:[function(e,t,n){(function(){var n,i,r;n=e("../utils/build_url"),i=e("../helpers/helpers"),r={claim:function(e,t){return e=i.normalizeId(e,!0),t=i.normalizeId(t,!0),n("wdq",{q:"CLAIM["+e+":"+t+"]"})},string:function(e,t){return e=i.normalizeId(e,!0),n("wdq",{q:"STRING["+e+":"+t+"]"})}},t.exports=function(e,t){return i.isWikidataEntityId(t)?r.claim(e,t):r.string(e,t)}}).call(this)},{"../helpers/helpers":4,"../utils/build_url":11}],9:[function(e,t,n){(function(){var n,i,r,o,a,u;u=e("../helpers/helpers"),n=e("../utils/build_url"),o=e("../utils/utils"),r=o.isPlainObject,i=o.forceArray,a=o.shortLang,t.exports=function(e,t,o,s){var l,c;if(r(e)&&(c=e,e=c.ids,t=c.languages,o=c.props,s=c.format),s||(s="json"),null==e&&0!==e.length)throw new Error("no id provided");return e=u.normalizeIds(i(e)),o=i(o),l={action:"wbgetentities",ids:e.join("|"),format:s},null!=t&&(t=i(t).map(a),l.languages=t.join("|")),(null!=o?o.length:void 0)>0&&(l.props=o.join("|")),n("wikidata",l)}}).call(this)},{"../helpers/helpers":4,"../utils/build_url":11,"../utils/utils":13}],10:[function(e,t,n){(function(){var n,i;i=e("../helpers/helpers"),n=e("../utils/build_url"),t.exports=function(e,t,i,r){if(null==t&&(t="en"),null==i&&(i="20"),null==r&&(r="json"),!((null!=e?e.length:void 0)>0))throw new Error("search can't be undefined");return n("wikidata",{action:"wbsearchentities",search:e,language:t,limit:i,format:r})}}).call(this)},{"../helpers/helpers":4,"../utils/build_url":11}],11:[function(e,t,n){(function(){var n,i,r;try{i=e("querystring")}catch(o){n=o,i=e("./querystring_lite")}r={wikidata:"https://www.wikidata.org/w/api.php",commons:"http://commons.wikimedia.org",wdq:"http://wdq.wmflabs.org/api"},t.exports=function(e,t){return r[e]+"?"+i.stringify(t)}}).call(this)},{"./querystring_lite":12,querystring:3}],12:[function(e,t,n){(function(){t.exports={stringify:function(e){var t,n,i;n="";for(t in e)i=e[t],null!=i&&(n+="&"+t+"="+i);return n=n.slice(1),"undefined"!=typeof encodeURI&&null!==encodeURI?encodeURI(n):n}}}).call(this)},{}],13:[function(e,t,n){(function(){t.exports={shortLang:function(e){return e.slice(0,3)},forceArray:function(e){return"string"==typeof e&&(e=[e]),e||[]},isPlainObject:function(e){return null==e?!1:"object"!=typeof e?!1:e instanceof Array?!1:!0}}}).call(this)},{}],14:[function(e,t,n){(function(){var n,i,r,o;t.exports=o={},n=e("./helpers/helpers"),o.searchEntities=e("./queries/wikidata_search_entities"),o.getEntities=e("./queries/wikidata_get_entities"),o.getReverseClaims=e("./queries/wdq_get_reverse_claims"),o.simplifyClaims=e("./helpers/simplify_claims"),o.parse=e("./helpers/parse_responses"),o.helpers=n;for(i in n)r=n[i],o[i]=r}).call(this)},{"./helpers/helpers":4,"./helpers/parse_responses":5,"./helpers/simplify_claims":6,"./queries/wdq_get_reverse_claims":8,"./queries/wikidata_get_entities":9,"./queries/wikidata_search_entities":10}]},{},[14])(14)}); | ||
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.wdk=e()}}(function(){return function e(t,i,n){function r(a,s){if(!i[a]){if(!t[a]){var u="function"==typeof require&&require;if(!s&&u)return u(a,!0);if(o)return o(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var c=i[a]={exports:{}};t[a][0].call(c.exports,function(e){var i=t[a][1][e];return r(i?i:e)},c,c.exports,e,t,i,n)}return i[a].exports}for(var o="function"==typeof require&&require,a=0;a<n.length;a++)r(n[a]);return r}({1:[function(e,t,i){"use strict";function n(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.exports=function(e,t,i,o){t=t||"&",i=i||"=";var a={};if("string"!=typeof e||0===e.length)return a;var s=/\+/g;e=e.split(t);var u=1e3;o&&"number"==typeof o.maxKeys&&(u=o.maxKeys);var l=e.length;u>0&&l>u&&(l=u);for(var c=0;l>c;++c){var f,d,p,m,h=e[c].replace(s,"%20"),g=h.indexOf(i);g>=0?(f=h.substr(0,g),d=h.substr(g+1)):(f=h,d=""),p=decodeURIComponent(f),m=decodeURIComponent(d),n(a,p)?r(a[p])?a[p].push(m):a[p]=[a[p],m]:a[p]=m}return a};var r=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},{}],2:[function(e,t,i){"use strict";function n(e,t){if(e.map)return e.map(t);for(var i=[],n=0;n<e.length;n++)i.push(t(e[n],n));return i}var r=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};t.exports=function(e,t,i,s){return t=t||"&",i=i||"=",null===e&&(e=void 0),"object"==typeof e?n(a(e),function(a){var s=encodeURIComponent(r(a))+i;return o(e[a])?n(e[a],function(e){return s+encodeURIComponent(r(e))}).join(t):s+encodeURIComponent(r(e[a]))}).join(t):s?encodeURIComponent(r(s))+i+encodeURIComponent(r(e)):""};var o=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},a=Object.keys||function(e){var t=[];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.push(i);return t}},{}],3:[function(e,t,i){"use strict";i.decode=i.parse=e("./decode"),i.encode=i.stringify=e("./encode")},{"./decode":1,"./encode":2}],4:[function(e,t,i){(function(){var i,n;n=e("./wikidata_time_to_date_object"),i={},i.isNumericId=function(e){return/^[0-9]+$/.test(e)},i.isWikidataId=function(e){return/^(Q|P)[0-9]+$/.test(e)},i.isWikidataEntityId=function(e){return/^Q[0-9]+$/.test(e)},i.isWikidataPropertyId=function(e){return/^P[0-9]+$/.test(e)},i.normalizeId=function(e,t,n){if(null==n&&(n="Q"),i.isNumericId(e))return t?e:""+n+e;if(i.isWikidataId(e))return t?e.slice(1):e;throw new Error("invalid id")},i.getNumericId=function(e){if(!i.isWikidataId(e))throw new Error("invalid wikidata id: "+e);return e.replace(/Q|P/,"")},i.normalizeIds=function(e,t,n){return null==n&&(n="Q"),e.map(function(e){return i.normalizeId(e,t,n)})},i.wikidataTimeToDateObject=n,i.wikidataTimeToEpochTime=function(e){return n(e).getTime()},i.wikidataTimeToISOString=function(e){return n(e).toISOString()},i.normalizeWikidataTime=i.wikidataTimeToEpochTime,t.exports=i}).call(this)},{"./wikidata_time_to_date_object":7}],5:[function(e,t,i){(function(){var i,n;n=e("./helpers"),i=e("./simplify_claims"),t.exports={wd:{entities:function(e){var t,n,r;e=e.body||e,t=e.entities;for(r in t)n=t[r],n.claims=i(n.claims);return t}},wdq:{entities:function(e){var t;return e=e.body||e,null!=(t=e.items)?t.map(function(e){return n.normalizeId(e)}):void 0}}}}).call(this)},{"./helpers":4,"./simplify_claims":6}],6:[function(e,t,i){(function(){var i,n;n=e("./helpers"),t.exports=function(e){var t,n,r;r={};for(n in e)t=e[n],r[n]=t.map(i);return r},i=function(e){var t,i,r,o;if(r=e.mainsnak,null!=r){if(t=r.datatype,i=r.datavalue,null==i)return null;switch(t){case"string":case"commonsMedia":case"url":o=i.value;break;case"monolingualtext":o=i.value.text;break;case"wikibase-item":o="Q"+i.value["numeric-id"];break;case"time":o=n.normalizeWikidataTime(i.value.time);break;default:o=null}return o}}}).call(this)},{"./helpers":4}],7:[function(e,t,i){(function(){var e,i,n,r;t.exports=function(t){var i,r,o;return o=t[0],r=t.slice(1),i=e(o,r),"Invalid Date"===i.toString()?n(o,r):i},e=function(e,t){return"-"===e?i(t):r(t)},r=function(e){return new Date(e)},i=function(e){var t;return t="-00"+e,new Date(t)},n=function(t,i){var n,r,o,a;return o=i.split("T")[0].split("-"),a=o[0],r=o[1],n=o[2],e(t,a)}}).call(this)},{}],8:[function(e,t,i){(function(){var i,n,r,o,a,s;i=e("../utils/build_url"),a=e("../utils/utils"),r=a.isPlainObject,n=a.forceArray,s=a.shortLang,t.exports=function(e,t,a,u,l){var c,f;if(r(e)&&(f=e,e=f.titles,t=f.sites,a=f.languages,u=f.props,l=f.format),l||(l="json"),null==e||0===e.length)throw new Error("no title provided");return(null==t||0===t.length)&&(t=["enwiki"]),e=n(e),t=n(t).map(o),u=n(u),c={action:"wbgetentities",titles:e.join("|"),sites:t.join("|"),format:l},null!=a&&(a=n(a).map(s),c.languages=a.join("|")),(null!=u?u.length:void 0)>0&&(c.props=u.join("|")),i("wikidata",c)},o=function(e){return 2===e.length?e+"wiki":e}}).call(this)},{"../utils/build_url":12,"../utils/utils":14}],9:[function(e,t,i){(function(){var i,n,r;i=e("../utils/build_url"),n=e("../helpers/helpers"),r={claim:function(e,t){return e=n.normalizeId(e,!0),t=n.normalizeId(t,!0),i("wdq",{q:"CLAIM["+e+":"+t+"]"})},string:function(e,t){return e=n.normalizeId(e,!0),i("wdq",{q:"STRING["+e+":"+t+"]"})}},t.exports=function(e,t){return n.isWikidataEntityId(t)?r.claim(e,t):r.string(e,t)}}).call(this)},{"../helpers/helpers":4,"../utils/build_url":12}],10:[function(e,t,i){(function(){var i,n,r,o,a,s;s=e("../helpers/helpers"),i=e("../utils/build_url"),o=e("../utils/utils"),r=o.isPlainObject,n=o.forceArray,a=o.shortLang,t.exports=function(e,t,o,u){var l,c;if(r(e)&&(c=e,e=c.ids,t=c.languages,o=c.props,u=c.format),u||(u="json"),null==e&&0!==e.length)throw new Error("no id provided");return e=s.normalizeIds(n(e)),o=n(o),l={action:"wbgetentities",ids:e.join("|"),format:u},null!=t&&(t=n(t).map(a),l.languages=t.join("|")),(null!=o?o.length:void 0)>0&&(l.props=o.join("|")),i("wikidata",l)}}).call(this)},{"../helpers/helpers":4,"../utils/build_url":12,"../utils/utils":14}],11:[function(e,t,i){(function(){var i,n,r;r=e("../helpers/helpers"),i=e("../utils/build_url"),n=e("../utils/utils").isPlainObject,t.exports=function(e,t,r,o){var a;if(n(e)&&(a=e,e=a.search,t=a.language,r=a.limit,o=a.format),!((null!=e?e.length:void 0)>0))throw new Error("search can't be empty");return t||(t="en"),r||(r="20"),o||(o="20"),i("wikidata",{action:"wbsearchentities",search:e,language:t,limit:r,format:o})}}).call(this)},{"../helpers/helpers":4,"../utils/build_url":12,"../utils/utils":14}],12:[function(e,t,i){(function(){var i,n,r;try{n=e("querystring")}catch(o){i=o,n=e("./querystring_lite")}r={wikidata:"https://www.wikidata.org/w/api.php",commons:"http://commons.wikimedia.org",wdq:"http://wdq.wmflabs.org/api"},t.exports=function(e,t){return r[e]+"?"+n.stringify(t)}}).call(this)},{"./querystring_lite":13,querystring:3}],13:[function(e,t,i){(function(){t.exports={stringify:function(e){var t,i,n;i="";for(t in e)n=e[t],null!=n&&(i+="&"+t+"="+n);return i=i.slice(1),"undefined"!=typeof encodeURI&&null!==encodeURI?encodeURI(i):i}}}).call(this)},{}],14:[function(e,t,i){(function(){t.exports={shortLang:function(e){return e.slice(0,3)},forceArray:function(e){return"string"==typeof e&&(e=[e]),e||[]},isPlainObject:function(e){return null==e?!1:"object"!=typeof e?!1:e instanceof Array?!1:!0}}}).call(this)},{}],15:[function(e,t,i){(function(){var i,n,r,o;t.exports=o={},i=e("./helpers/helpers"),o.searchEntities=e("./queries/wikidata_search_entities"),o.getEntities=e("./queries/wikidata_get_entities"),o.getWikidataIdsFromSitelinks=e("./queries/get_wikidata_ids_from_sitelinks"),o.getReverseClaims=e("./queries/wdq_get_reverse_claims"),o.simplifyClaims=e("./helpers/simplify_claims"),o.parse=e("./helpers/parse_responses"),o.getWikidataIdsFromWikipediaTitles=o.getWikidataIdsFromSitelinks,o.helpers=i;for(n in i)r=i[n],o[n]=r}).call(this)},{"./helpers/helpers":4,"./helpers/parse_responses":5,"./helpers/simplify_claims":6,"./queries/get_wikidata_ids_from_sitelinks":8,"./queries/wdq_get_reverse_claims":9,"./queries/wikidata_get_entities":10,"./queries/wikidata_search_entities":11}]},{},[15])(15)}); |
{ | ||
"name": "wikidata-sdk", | ||
"version": "2.0.0", | ||
"version": "2.1.1", | ||
"description": "a javascript tool suite to query and work with wikidata data", | ||
@@ -5,0 +5,0 @@ "main": "build/wikidata-sdk.js", |
100
README.md
@@ -20,6 +20,10 @@  | ||
- [get entities by id](#get-entities-by-id) | ||
- [get entities from Wikipedia titles](#get-entities-by-wikipedia-titles) | ||
- [get entities from any Wikimedia project titles](#get-entities-by-other-wikimedia-projects-titles) | ||
- [get entities reverse claims](#get-entities-reverse-claims) | ||
- [Results parsers](#results-parsers) | ||
- [Wikidata API queries](#wikidata-api-queries) | ||
- [WDQ queries](#wdq-queries) | ||
- [simplify claims results](#simplify-claims-results) | ||
- [Other utils](#other-utils) | ||
- [simplify claims results](#simplify-claims-results) | ||
- [Misc](#misc) | ||
- [A little CoffeeScript / Promises workflow demo](#a-little-coffeescript--promises-workflow-demo) | ||
@@ -77,15 +81,24 @@ - [License](#license) | ||
this returns a query url that you are then free to request with the tool you like | ||
``` | ||
https://www.wikidata.org/w/api.php?action=wbsearchentities&search=Ingmar%20Bergman&language=en&limit=20&format=json | ||
``` | ||
or with more parameters: | ||
```javascript | ||
var search = 'Ingmar Bergman' | ||
var languages = 'fr' // will default to 'en' | ||
var language = 'fr' // will default to 'en' | ||
var limit = 10 // default 20 | ||
var format = 'json' // default to json | ||
var url = wdk.searchEntities(search, languages, limit, format); | ||
var url = wdk.searchEntities(search, language, limit, format); | ||
``` | ||
this returns a query url that you are then free to request with the tool you like | ||
which can also be passed as an object: | ||
```javascript | ||
var url = wdk.searchEntities({ | ||
search: 'Ingmar Bergman', | ||
format: 'xml', | ||
language: 'sv' | ||
}); | ||
``` | ||
https://www.wikidata.org/w/api.php?action=wbsearchentities&search=Ingmar%20Bergman&language=en&limit=20&format=json | ||
``` | ||
@@ -97,3 +110,7 @@ ### get entities by id | ||
```javascript | ||
var url = wdk.getEntities(ids, languages, properties, format) | ||
var ids = 'Q571'; // could also be several ids as an array: ['Q1', 'Q5', 'Q571'] | ||
var languages = ['en', 'fr', 'de']; // returns all languages if not specified | ||
var properties = ['info', 'claims']; // returns all data if not specified | ||
var format = 'xml'; // defaults to json | ||
var url = wdk.getEntities(ids, languages, properties, format); | ||
``` | ||
@@ -106,2 +123,58 @@ | ||
And Again, this can also be passed as an object: | ||
```javascript | ||
var url = wdk.getEntities({ | ||
ids: ['Q1', 'Q5', 'Q571'], | ||
languages: ['en', 'fr', 'de'], // returns all languages if not specified | ||
properties: ['info', 'claims'], // returns all data if not specified | ||
format: 'xml' // defaults to json | ||
}) | ||
``` | ||
### get entities by Wikipedia titles | ||
This can be very useful when you work with a list of Wikipedia articles in a given language and would like to move to Wikidata for all the awesomeness it provides: | ||
```javascript | ||
var url = wdk.getWikidataIdsFromWikipediaTitles('Hamburg'); | ||
//=> 'https://www.wikidata.org/w/api.php?action=wbgetentities&titles=Hamburg&sites=enwiki&format=json' | ||
var url = wdk.getWikidataIdsFromWikipediaTitles(['Hamburg', 'Lyon', 'Berlin']); | ||
// => 'https://www.wikidata.org/w/api.php?action=wbgetentities&titles=Hamburg%7CLyon%7CBerlin&sites=enwiki&format=json' | ||
``` | ||
By default, it looks in the English Wikipedia, but we can change that: | ||
```javascript | ||
var titles = 'Hamburg'; | ||
var sites = 'dewiki'; // or you can just pass the 2-letters language codes: 'de' | ||
var languages = ['en', 'fr', 'de']; // those are the languages in which we would like the entities data | ||
var properties = ['info', 'claims']; | ||
var format = 'json'; | ||
var url = wdk.getWikidataIdsFromWikipediaTitles(titles, sites, languages, properties, format); | ||
``` | ||
or using the object interface: | ||
```javascript | ||
var url = wdk.getWikidataIdsFromWikipediaTitles({ | ||
titles: 'Hamburg', | ||
sites: 'dewiki', | ||
languages: ['en', 'fr', 'de'], | ||
properties: ['info', 'claims'], | ||
format: 'json' | ||
}); | ||
``` | ||
### get entities by other Wikimedia projects titles | ||
This is exactly the same interface as with `getWikidataIdsFromWikipediaTitles`, you just need to specify the sitelink in the form `{2 letters language code}{project}` | ||
```javascript | ||
var url = wdk.getWikidataIdsFromSitelinks('Victor Hugo', 'frwikisource'); | ||
``` | ||
Actually, `getWikidataIdsFromWikipediaTitles` is just an alias of `getWikidataIdsFromSitelinks`, so you can use it for Wikipedia too: | ||
```javascript | ||
var url = wdk.getWikidataIdsFromSitelinks('Victor Hugo', 'frwiki'); | ||
// or given it defauts to the Wikipedia project: | ||
var url = wdk.getWikidataIdsFromSitelinks('Victor Hugo', 'fr'); | ||
``` | ||
### get entities reverse claims | ||
@@ -112,2 +185,3 @@ | ||
Fortunatly, you can query wikimedia awesome WDQ tool \o/ | ||
(And now also a [SPARQL endpoint](https://query.wikidata.org), for which wikidata-sdk doesn't provide any tool yet) | ||
@@ -137,4 +211,10 @@ For instance, let's say you want to find all the entities that have Leo Tolstoy ([Q7243](http://www.wikidata.org/entity/Q7243)) for author ([P50](http://www.wikidata.org/entity/P50)) | ||
## Other utils | ||
## Results parsers | ||
### Wikidata API queries | ||
you can pass the results from `wdk.searchEntities`, `wdk.getEntities`, `wdk.getWikidataIdsFromWikipediaTitles`, or `wdk.getWikidataIdsFromSitelinks` to `wdk.parse.wd.entities`, it will return entities with simplified claims (cf "simplify claims results" hereafter) | ||
### WDQ queries | ||
you can pass the results from `wdk.getReverseClaims` to `wdk.parse.wdq.entities`, it will return a list of Wikidata entities `Q` ids | ||
### simplify claims results | ||
@@ -224,3 +304,3 @@ For each entities claims, Wikidata's API returns a deep object that requires some parsing that could be avoided for simple uses. | ||
### Misc | ||
## Other utils | ||
@@ -227,0 +307,0 @@ - isNumericId |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
230649
5740
330