Я бы хотел запросить Wikidata в JavaScript, используя следующие три библиотеки: jquery-1.10.2.min.js
, encode.js
, jquery.sparql.js
.Подход подобен тому, который используется здесь: https://www.syncfusion.com/kb/3069/how-to-use-sparql-with-js-components
Ошибка в строке ".filter("lang(?partOf) = 'en'")
".Если я удаляю строку фильтра, я получаю результаты для partOf
на всех языках (то есть остальная часть кода работает).Если я добавлю строку фильтра, я получу пустой массив, а не только результат на английском языке.
Как настроить команду filter
?
<p id="demoWikidata"></p>
<script>
$(function () {
$.sparql("https://query.wikidata.org/sparql")
.prefix("rdfs", "http://www.w3.org/2000/01/rdf-schema#")
.prefix("wdt", "http://www.wikidata.org/prop/direct/")
.prefix("wd", "http://www.wikidata.org/entity/")
.select(["?partOf"])
.where("wd:Q151005", "wdt:P361", "?helpPartOf")
.where("?helpPartOf", "rdfs:label", "?partOf")
//.filter("lang(?partOf) = 'en'")
.execute(cbfunction)
function cbfunction(result) {
document.getElementById("demoWikidata").innerHTML = JSON.stringify(result);
}
});
</script>