wikidata-sdk
Advanced tools
Comparing version 2.2.2 to 2.3.0
@@ -15,2 +15,4 @@ // Generated by CoffeeScript 1.9.3 | ||
wdk.sparqlQuery = require('./queries/wikidata_sparql_query'); | ||
wdk.getReverseClaims = require('./queries/wdq_get_reverse_claims'); | ||
@@ -17,0 +19,0 @@ |
@@ -445,3 +445,3 @@ (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){ | ||
},{"../utils/build_url":12,"../utils/utils":14}],9:[function(require,module,exports){ | ||
},{"../utils/build_url":13,"../utils/utils":15}],9:[function(require,module,exports){ | ||
// Generated by CoffeeScript 1.9.3 | ||
@@ -481,3 +481,3 @@ (function() { | ||
},{"../helpers/helpers":4,"../utils/build_url":12}],10:[function(require,module,exports){ | ||
},{"../helpers/helpers":4,"../utils/build_url":13}],10:[function(require,module,exports){ | ||
// Generated by CoffeeScript 1.9.3 | ||
@@ -521,3 +521,3 @@ (function() { | ||
},{"../helpers/helpers":4,"../utils/build_url":12,"../utils/utils":14}],11:[function(require,module,exports){ | ||
},{"../helpers/helpers":4,"../utils/build_url":13,"../utils/utils":15}],11:[function(require,module,exports){ | ||
// Generated by CoffeeScript 1.9.3 | ||
@@ -555,5 +555,16 @@ (function() { | ||
},{"../helpers/helpers":4,"../utils/build_url":12,"../utils/utils":14}],12:[function(require,module,exports){ | ||
},{"../helpers/helpers":4,"../utils/build_url":13,"../utils/utils":15}],12:[function(require,module,exports){ | ||
// Generated by CoffeeScript 1.9.3 | ||
(function() { | ||
module.exports = function(sparql) { | ||
var query; | ||
query = encodeURIComponent(sparql); | ||
return "https://query.wikidata.org/sparql?format=json&query=" + query; | ||
}; | ||
}).call(this); | ||
},{}],13:[function(require,module,exports){ | ||
// Generated by CoffeeScript 1.9.3 | ||
(function() { | ||
var err, qs, roots; | ||
@@ -580,3 +591,3 @@ | ||
},{"./querystring_lite":13,"querystring":3}],13:[function(require,module,exports){ | ||
},{"./querystring_lite":14,"querystring":3}],14:[function(require,module,exports){ | ||
// Generated by CoffeeScript 1.9.3 | ||
@@ -604,3 +615,3 @@ (function() { | ||
},{}],14:[function(require,module,exports){ | ||
},{}],15:[function(require,module,exports){ | ||
// Generated by CoffeeScript 1.9.3 | ||
@@ -634,3 +645,3 @@ (function() { | ||
},{}],15:[function(require,module,exports){ | ||
},{}],16:[function(require,module,exports){ | ||
// Generated by CoffeeScript 1.9.3 | ||
@@ -650,2 +661,4 @@ (function() { | ||
wdk.sparqlQuery = require('./queries/wikidata_sparql_query'); | ||
wdk.getReverseClaims = require('./queries/wdq_get_reverse_claims'); | ||
@@ -668,3 +681,3 @@ | ||
},{"./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) | ||
},{"./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,"./queries/wikidata_sparql_query":12}]},{},[16])(16) | ||
}); |
@@ -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,i,n){function r(s,u){if(!i[s]){if(!t[s]){var a="function"==typeof require&&require;if(!u&&a)return a(s,!0);if(o)return o(s,!0);var l=new Error("Cannot find module '"+s+"'");throw l.code="MODULE_NOT_FOUND",l}var c=i[s]={exports:{}};t[s][0].call(c.exports,function(e){var i=t[s][1][e];return r(i?i:e)},c,c.exports,e,t,i,n)}return i[s].exports}for(var o="function"==typeof require&&require,s=0;s<n.length;s++)r(n[s]);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 s={};if("string"!=typeof e||0===e.length)return s;var u=/\+/g;e=e.split(t);var a=1e3;o&&"number"==typeof o.maxKeys&&(a=o.maxKeys);var l=e.length;a>0&&l>a&&(l=a);for(var c=0;l>c;++c){var f,d,p,m,h=e[c].replace(u,"%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(s,p)?r(s[p])?s[p].push(m):s[p]=[s[p],m]:s[p]=m}return s};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,u){return t=t||"&",i=i||"=",null===e&&(e=void 0),"object"==typeof e?n(s(e),function(s){var u=encodeURIComponent(r(s))+i;return o(e[s])?n(e[s],function(e){return u+encodeURIComponent(r(e))}).join(t):u+encodeURIComponent(r(e[s]))}).join(t):u?encodeURIComponent(r(u))+i+encodeURIComponent(r(e)):""};var o=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},s=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,r;r=e("./helpers"),t.exports=function(e){var t,n,r;r={};for(n in e)t=e[n],r[n]=i(t);return r},i=function(e){var t,i,r,o,s;for(o=[],t=0,i=e.length;i>t;t++)s=e[t],r=n(s),null!=r&&o.push(r);return o},n=function(e){var t,i,n;if(n=e.mainsnak,null==n)return null;if(t=n.datatype,i=n.datavalue,null==i)return null;switch(t){case"string":case"commonsMedia":case"url":case"external-id":return i.value;case"monolingualtext":return i.value.text;case"wikibase-item":return"Q"+i.value["numeric-id"];case"time":return r.normalizeWikidataTime(i.value.time);default:return null}}}).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,s;return o=i.split("T")[0].split("-"),s=o[0],r=o[1],n=o[2],e(t,s)}}).call(this)},{}],8:[function(e,t,i){(function(){var i,n,r,o,s,u;i=e("../utils/build_url"),s=e("../utils/utils"),r=s.isPlainObject,n=s.forceArray,u=s.shortLang,t.exports=function(e,t,s,a,l){var c,f;if(r(e)&&(f=e,e=f.titles,t=f.sites,s=f.languages,a=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),a=n(a),c={action:"wbgetentities",titles:e.join("|"),sites:t.join("|"),format:l},null!=s&&(s=n(s).map(u),c.languages=s.join("|")),(null!=a?a.length:void 0)>0&&(c.props=a.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,s,u;u=e("../helpers/helpers"),i=e("../utils/build_url"),o=e("../utils/utils"),r=o.isPlainObject,n=o.forceArray,s=o.shortLang,t.exports=function(e,t,o,a){var l,c;if(r(e)&&(c=e,e=c.ids,t=c.languages,o=c.props,a=c.format),a||(a="json"),null==e&&0!==e.length)throw new Error("no id provided");return e=u.normalizeIds(n(e)),o=n(o),l={action:"wbgetentities",ids:e.join("|"),format:a},null!=t&&(t=n(t).map(s),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 s;if(n(e)&&(s=e,e=s.search,t=s.language,r=s.limit,o=s.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="json"),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)}); | ||
!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,r;r=e("./helpers"),t.exports=function(e){var t,n,r;r={};for(n in e)t=e[n],r[n]=i(t);return r},i=function(e){var t,i,r,o,a;for(o=[],t=0,i=e.length;i>t;t++)a=e[t],r=n(a),null!=r&&o.push(r);return o},n=function(e){var t,i,n;if(n=e.mainsnak,null==n)return null;if(t=n.datatype,i=n.datavalue,null==i)return null;switch(t){case"string":case"commonsMedia":case"url":case"external-id":return i.value;case"monolingualtext":return i.value.text;case"wikibase-item":return"Q"+i.value["numeric-id"];case"time":return r.normalizeWikidataTime(i.value.time);default:return null}}}).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":13,"../utils/utils":15}],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":13}],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":13,"../utils/utils":15}],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="json"),i("wikidata",{action:"wbsearchentities",search:e,language:t,limit:r,format:o})}}).call(this)},{"../helpers/helpers":4,"../utils/build_url":13,"../utils/utils":15}],12:[function(e,t,i){(function(){t.exports=function(e){var t;return t=encodeURIComponent(e),"https://query.wikidata.org/sparql?format=json&query="+t}}).call(this)},{}],13:[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":14,querystring:3}],14:[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)},{}],15:[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)},{}],16:[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.sparqlQuery=e("./queries/wikidata_sparql_query"),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,"./queries/wikidata_sparql_query":12}]},{},[16])(16)}); |
{ | ||
"name": "wikidata-sdk", | ||
"version": "2.2.2", | ||
"version": "2.3.0", | ||
"description": "a javascript tool suite to query and work with wikidata data", | ||
@@ -5,0 +5,0 @@ "main": "build/wikidata-sdk.js", |
103
README.md
@@ -8,4 +8,5 @@  | ||
used APIs: | ||
- [wikidata API](https://www.wikidata.org/w/api.php) | ||
- [wmlabs WDQ](http://wdq.wmflabs.org/api_documentation.html) | ||
- [Wikidata API](https://www.wikidata.org/w/api.php) | ||
- [Wikidata Query](http://query.wikidata.org/) (SPARQL) | ||
- [WMLabs WDQ](http://wdq.wmflabs.org/api_documentation.html) | ||
@@ -24,2 +25,3 @@ # Summary | ||
- [get entities reverse claims](#get-entities-reverse-claims) | ||
- [sparql queries](#sparql-queries) | ||
- [Results parsers](#results-parsers) | ||
@@ -79,3 +81,3 @@ - [Wikidata API queries](#wikidata-api-queries) | ||
```javascript | ||
var url = wdk.searchEntities('Ingmar Bergman'); | ||
var url = wdk.searchEntities('Ingmar Bergman') | ||
``` | ||
@@ -95,3 +97,3 @@ | ||
var url = wdk.searchEntities(search, language, limit, format); | ||
var url = wdk.searchEntities(search, language, limit, format) | ||
``` | ||
@@ -104,3 +106,3 @@ which can also be passed as an object: | ||
language: 'sv' | ||
}); | ||
}) | ||
``` | ||
@@ -113,7 +115,7 @@ | ||
```javascript | ||
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); | ||
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) | ||
``` | ||
@@ -140,6 +142,6 @@ | ||
```javascript | ||
var url = wdk.getWikidataIdsFromWikipediaTitles('Hamburg'); | ||
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']); | ||
var url = wdk.getWikidataIdsFromWikipediaTitles(['Hamburg', 'Lyon', 'Berlin']) | ||
// => 'https://www.wikidata.org/w/api.php?action=wbgetentities&titles=Hamburg%7CLyon%7CBerlin&sites=enwiki&format=json' | ||
@@ -150,8 +152,8 @@ ``` | ||
```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); | ||
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) | ||
``` | ||
@@ -166,3 +168,3 @@ or using the object interface: | ||
format: 'json' | ||
}); | ||
}) | ||
``` | ||
@@ -175,3 +177,3 @@ | ||
```javascript | ||
var url = wdk.getWikidataIdsFromSitelinks('Victor Hugo', 'frwikisource'); | ||
var url = wdk.getWikidataIdsFromSitelinks('Victor Hugo', 'frwikisource') | ||
``` | ||
@@ -181,5 +183,5 @@ | ||
```javascript | ||
var url = wdk.getWikidataIdsFromSitelinks('Victor Hugo', 'frwiki'); | ||
var url = wdk.getWikidataIdsFromSitelinks('Victor Hugo', 'frwiki') | ||
// or given it defauts to the Wikipedia project: | ||
var url = wdk.getWikidataIdsFromSitelinks('Victor Hugo', 'fr'); | ||
var url = wdk.getWikidataIdsFromSitelinks('Victor Hugo', 'fr') | ||
``` | ||
@@ -189,6 +191,8 @@ | ||
> /!\ WDQ will be deprecated, use the [SPARQL endpoint](#sparql query) instead | ||
In wikidata API answers, you can only access claims on the entity's page, not claims pointing to this entity (what would be in the "what links here" page). | ||
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) | ||
(And now also an even more awesome [SPARQL endpoint](#sparql query)) | ||
@@ -198,3 +202,3 @@ 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)) | ||
```javascript | ||
var url = wdk.getReverseClaims('P50', 'Q7243'); | ||
var url = wdk.getReverseClaims('P50', 'Q7243') | ||
``` | ||
@@ -206,7 +210,7 @@ | ||
request(url, function(err, response){ | ||
if (err) { dealWithError(err) }; | ||
var entities = wdk.parse.wdq.entities(response); | ||
var url2 = wdk.getEntities(entities); | ||
if (err) { dealWithError(err) } | ||
var entities = wdk.parse.wdq.entities(response) | ||
var url2 = wdk.getEntities(entities) | ||
request(url2 .... | ||
}); | ||
}) | ||
``` | ||
@@ -217,5 +221,34 @@ | ||
```javascript | ||
var url = wdk.getReverseClaims('P212', '978-0-465-06710-7'); | ||
var url = wdk.getReverseClaims('P212', '978-0-465-06710-7') | ||
``` | ||
### sparql queries | ||
But now, there is even more powerful than WDQ: the all mighty [Wikidata SPARQL endpoint](http://query.wikidata.org/)! [SPARQL](https://en.wikipedia.org/wiki/Sparql) can be a weird thing at first, but the Wikidata team and community really puts lots of efforts to make things easy with a [user manual](https://www.mediawiki.org/wiki/Wikidata_query_service/User_Manual), [an awesome tool to test you queries with autocomplete](https://query.wikidata.org/) and [lots of examples](https://www.mediawiki.org/wiki/Wikibase/Indexing/SPARQL_Query_Examples)! | ||
Then, to get JSON results you can [make a HTTP query to https://query.wikidata.org/sparql?query={SPARQL}&format=json](https://www.mediawiki.org/wiki/Wikidata_query_service/User_Manual#SPARQL_endpoint), which with Wdk can be done like this: | ||
```javascript | ||
var url = wdk.sparqlQuery(SPARQL) | ||
``` | ||
Exemple taken from [inventaire SPARQL queries](https://github.com/inventaire/inventaire/tree/master/server/data/wikidata/queries) (here written using [ES6 template string](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/template_strings) capabilities) | ||
```javascript | ||
var authorId = 'Q535' | ||
var sparql = ` | ||
PREFIX wd: <http://www.wikidata.org/entity/> | ||
PREFIX wdt: <http://www.wikidata.org/prop/direct/> | ||
SELECT ?work ?date WHERE { | ||
?work wdt:P50 wd:${authorQid} . | ||
OPTIONAL { | ||
?work wdt:P577 ?date . | ||
} | ||
} | ||
` | ||
var url = wdk.sparqlQuery(sparql) | ||
// => https://query.wikidata.org/sparql?format=json&query=%0APREFIX%20wd%3A%20%3Chttp%3A%2F%2Fwww.wikidata.org%2Fentity%2F%3E%0APREFIX%20wdt%3A%20%3Chttp%3A%2F%2Fwww.wikidata.org%2Fprop%2Fdirect%2F%3E%0A%0ASELECT%20%3Fwork%20%3Fdate%20WHERE%20%7B%0A%20%20%3Fwork%20wdt%3AP50%20wd%3AQ535%20.%0A%20%20OPTIONAL%20%7B%0A%20%20%20%20%3Fwork%20wdt%3AP577%20%3Fdate%20.%0A%20%20%7D%0A%7D%0A | ||
``` | ||
Querying this url should return a big collection of objects with `work` and `date` attributes corresponding to all Mr Q535's works | ||
## Results parsers | ||
@@ -297,3 +330,3 @@ | ||
```javascript | ||
var simpleClaims = wdk.simplifyClaims(claims); | ||
var simpleClaims = wdk.simplifyClaims(claims) | ||
@@ -305,8 +338,8 @@ ``` | ||
```javascript | ||
var url = wdk.getEntities('Q535'); | ||
var url = wdk.getEntities('Q535') | ||
request(url, function(err, response){ | ||
if (err) { dealWithError(err) }; | ||
var entity = response.entities.Q535; | ||
entity.claims = wdk.simplifyClaims(entity.claims); | ||
}); | ||
if (err) { dealWithError(err) } | ||
var entity = response.entities.Q535 | ||
entity.claims = wdk.simplifyClaims(entity.claims) | ||
}) | ||
``` | ||
@@ -313,0 +346,0 @@ |
Sorry, the diff of this file is not supported yet
222650
52
6945
364