Запрос
[{
limit: 100,
type: '/location/location',
name: [{
value: null,
lang: {
name: {
value: null,
lang: '/lang/en',
},
}
}],
}];
возвращает для каждого местоположения и каждого языка название этого местоположения на этом языке. Результаты упорядочены по языкам. Например, вот очень маленький сегмент возвращаемого значения:
{
'lang': {
'name': {
'lang': '/lang/en',
'value': 'Russian'
}
},
'value': 'Сан-Франциско'
},
{
'lang': {
'name': {
'lang': '/lang/en',
'value': 'Swedish'
}
},
'value': 'San Francisco'
},
{
'lang': {
'name': {
'lang': '/lang/en',
'value': 'Portuguese'
}
},
'value': 'São Francisco (Califórnia)'
},
Для решения без программирования скопируйте и вставьте следующее в файл HTML и откройте его в браузере:
<code><html><head>
<script type="text/javascript" src="http://mjtemplate.org/dist/mjt-0.6/mjt.js"></script>
</head>
<body onload="mjt.run()">
<div mjt.task="q">
mjt.freebase.MqlRead([{
limit: 10,
type: '/location/location',
name: [{
value:null,
lang:{
name:{
value:null,
lang:'/lang/en',
},
}
}],
}])
</div>
<table><tr mjt.for="topic in q.result"><td>
<table><tr mjt.for="(var rowi = 0; rowi < topic.name.length; rowi++)"
mjt.if="rowi < topic.name.length" style="padding-left:2em"><td>
<pre mjt.script="">
var name = topic.name[rowi];
$ {(Name.lang [ 'д: имя'] || name.lang.name) .value}:
$ name.value
Конечно, это будет включать только первые 10 результатов. Увеличьте лимит выше, если вы хотите больше. (Кстати, Freebase не только классный, но и язык шаблонов mjt!)