evals-for-every-language / languages.rq
David Pomerenke
Improve language and script names and speaker data
0e5691e
raw
history blame
903 Bytes
# https://query.wikidata.org/
SELECT DISTINCT ?item (MAX(?numberOfSpeakers) AS ?maxSpeakers) (MAX(?speakersTime) AS ?mostRecentTime) ?iso639_1 ?iso639_3 ?itemLabel ?itemLabel_en
WHERE {
?item wdt:P220 ?iso639_3. # Language with ISO 639-3 code
?item p:P1098 ?numberOfSpeakersStatement.
?numberOfSpeakersStatement ps:P1098 ?numberOfSpeakers.
OPTIONAL {
?numberOfSpeakersStatement pq:P585 ?speakersTime.
}
OPTIONAL {
?item wdt:P218 ?iso639_1.
?item rdfs:label ?itemLabel_1 . FILTER(lang(?itemLabel_1) = ?iso639_1)
}
OPTIONAL {
?item rdfs:label ?itemLabel_3 . FILTER(lang(?itemLabel_3) = ?iso639_3)
}
BIND(COALESCE(?itemLabel_3, ?itemLabel_1) AS ?itemLabel)
OPTIONAL {
?item rdfs:label ?itemLabel_en . FILTER(lang(?itemLabel_en) = 'en')
}
}
GROUP BY ?item ?iso639_1 ?iso639_3 ?itemLabel ?itemLabel_en
ORDER BY DESC(?maxSpeakers) DESC(?mostRecentTime)