Меню
Главная
Случайная статья
Настройки
|
#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)
|
|