script.js
wd = "https://www.wikidata.org/w/api.php?";
wp = "https://en.wikipedia.org/w/api.php?";
aw = "action=wbgetentities" ;
aq = "action=query" ;
ts = "&sites=enwiki" ;
t = "&titles="
i = "Dragon";
l = "&languages=zh|zh-classical|zh-cn|zh-hans|zh-hant|zh-hk|zh-min-nan|zh-mo|zh-my|zh-sg|zh-tw|fr" ;
ps = "&props=sitelinks|labels|aliases|descriptions" ;
p = "&prop=extracts&exintro&explaintext&exsentences=10" ;
r = "&redirects&converttitles" ;
c = "&callback=?" ;
f = "&format=json" ;
urlwd = wd+aw+ts+t+i+l+ps +c+f;
url = wp+aq +t+i +p+r+c+f;
console.log("1. WD: "+urlwd);
console.log("2. WP: "+url);
var wikidata_translate = function (item,isolang) {
var url = wd+aw+ts+t+item+l+ps +c+f,
iso = isolang+"wiki",
trad="";
console.log(url);
$.getJSON(url, function (json) {
trad = json.entities[ Object.keys(json.entities)[0] ].sitelinks[iso].title;
console.log("1"+trad);
})
};
console.log(wikidata_translate("Dragon", "zh") )
function WD(item) {
url = wp+aq+t+ item +p+r+c+f; console.log(url);
$.getJSON(url, function (json) {
var item_id = Object.keys(json.query.pages)[0];
var extract = json.query.pages[item_id].extract;
var result = "<b>En :</b> <t>" + item + "</t> <b>⇒</b> " + extract;
$('#anchor1').append("<div>"+result+"</div>");
});
};
WD("Dragon");
function WD_i(item) {
url_tpl = wp+aq+t+ item +p+r+c+f;
$.getJSON(url_tpl, function (data) {
$.each(data.query.pages, function (i, json) {
sent = json.extract.toString();
result = "<b>En:</b> <t>" + item + "</t> <b>⇒</b> " + sent;
$('#anchor2').append("<div>"+result+"</div>");
});
});
}
WD_i("unicorn");
function WD_list(list) {
$.each(list, function (a, item) {
WD_i(item);
});
}
var List = [ "Qilin", "Basilisk", "Biscione", "Chollima", "Cockatrice", "Dragon", "Enfield", "Garuda", "Griffin", "Keythong", "Harpy", "Lindworm", "Manticore", "Mermaid", "Pegasus", "Phoenix", "Salamander", "Sea-horse", "Sea-lion", "Turul", "Unicorn", "Wyver", "Yale"];
WD_list(List);
index.html
<!DOCTYPE html>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Wikidata API</title>
<meta name="viewport" content="width=device-width">
<body>
<script type="text/javascript" src="//code.jquery.com/jquery-2.1.0.min.js"></script>
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<h3><b>Wikidata API & Wikipedia API for linguists: Principles & Demonstrations</b></h3>
<div id="anchor1"></div>
<hr>
<div id="anchor2"></div>
Note: queries are asynchronous, requests and injections may be in different order.
</body></html>
Wikidata-API-via-JS.markdown
Wikidata API via JS
-------------------
Live [JS Demo](http://codepen.io/hugolpz/pen/ByoKOK) by [Lopez Hugo](http://codepen.io/hugolpz)
A [Pen](http://codepen.io/hugolpz/pen/ByoKOK) by [Lopez Hugo](http://codepen.io/hugolpz) on [CodePen](http://codepen.io/).
[License](http://codepen.io/hugolpz/pen/ByoKOK/license).
style.css
@import url(https://fonts.googleapis.com/css?family=Bangers);
@import url(https://fonts.googleapis.com/css?family=Allura);
t {
font-size: 1.3em;
font-family: Bangers;
}
b {
color: #F00;
font-family: Allura;
font-size: 1.3em;
}
div > div {
box-shadow: 0 0 0 15px #555;
border: 3px solid #333;
color: #333;
margin: 1em;
padding: 1em;
}
wikidata-api-via-js.markdown
Wikidata API via JS
-------------------
Live [JS Demo](http://codepen.io/hugolpz/pen/ByoKOK) by [Lopez Hugo](http://codepen.io/hugolpz)
A [Pen](https://codepen.io/hugolpz/pen/ByoKOK) by [Lopez Hugo](http://codepen.io/hugolpz) on [CodePen](http://codepen.io/).
[License](https://codepen.io/hugolpz/pen/ByoKOK/license).