Меню

Главная
Случайная статья
Настройки
Участник:Rampion/SPARQL/Top featured or good articles
Материал из https://ru.wikipedia.org

#defaultView:Table SELECT ?item ?itemLabel (COUNT(DISTINCT ?featuredSitelink) as ?featuredCount) (COUNT(DISTINCT ?goodSitelink) as ?goodCount) ((?featuredCount + ?goodCount) as ?totalCount) ?ruWikiStatus ?hasRuWiki WITH { # Сначала выберем статьи, которые являются либо избранными, либо хорошими SELECT ?item (COUNT(DISTINCT ?sitelink) as ?count) WHERE { ?sitelink schema:about ?item ; wikibase:badge ?badge . VALUES ?badge { wd:Q17437796 wd:Q17437798 } } GROUP BY ?item ORDER BY DESC(?count) LIMIT 1000 } as %topitems WITH { # Проверяем русский статус SELECT ?item (MAX(?ruStatus) as ?ruWikiStatus) WHERE { INCLUDE %topitems ?ruWiki schema:about ?item ; schema:isPartOf <https://ru.wikipedia.org/> ; wikibase:badge ?badge . BIND( IF(?badge = wd:Q17437796, "Featured", IF(?badge = wd:Q17437798, "Good", "No status") ) as ?ruStatus ) } GROUP BY ?item } as %rustatus WITH { # Проверяем наличие русской статьи SELECT ?item ?hasRuWiki WHERE { INCLUDE %topitems ?ruArticle schema:about ?item ; schema:isPartOf <https://ru.wikipedia.org/> . BIND("Yes" as ?hasRuWiki) } } as %ruexists WHERE { INCLUDE %topitems # Подсчёт избранных статей OPTIONAL { ?featuredSitelink schema:about ?item ; wikibase:badge wd:Q17437796 . } # Подсчёт хороших статей OPTIONAL { ?goodSitelink schema:about ?item ; wikibase:badge wd:Q17437798 . } OPTIONAL { INCLUDE %rustatus } OPTIONAL { INCLUDE %ruexists } BIND(COALESCE(?ruWikiStatus, "No status") as ?ruWikiStatus) BIND(COALESCE(?hasRuWiki, "No") as ?hasRuWiki) SERVICE wikibase:label { bd:serviceParam wikibase:language "ru,en". } } GROUP BY ?item ?itemLabel ?ruWikiStatus ?hasRuWiki ORDER BY DESC(?totalCount) DESC(?featuredCount)
Downgrade Counter