跳至内容

SPARQL/WIKIDATA 语言链接和徽章

来自维基教科书,开放世界中的开放书籍
[编辑 | 编辑源代码]
#Female scientists with most number of sitelinks (but not English Wikipedia)
SELECT ?item ?itemLabel (COUNT(DISTINCT ?languagelink) AS ?linkcount) (SAMPLE( ?languagelink ) AS ?sample ) 
WHERE {
    ?item wdt:P31 wd:Q5.            # is a human 
    ?item wdt:P21 wd:Q6581072.      # gender female
    ?item wdt:P106 wd:Q901.         # occupation scientist
    ?languagelink schema:about ?item.
  FILTER NOT EXISTS {
    ?enlanguagelink schema:about ?item.
    ?enlanguagelink schema:inLanguage "en". 
    ?enlanguagelink schema:isPartOf <https://en.wikipedia.org/>
  }
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en,de,es,ar,fr" }
}
GROUP BY ?item ?itemLabel
ORDER BY DESC(?linkcount)

试试看!

代码 schema:about 将项目链接到语言链接。
代码 schema:inLanguage 在语言链接中检索语言。
代码 schema:isPartOf 在语言链接中检索维基媒体项目,例如 <https://en.wikipedia.org/>。

徽章是一种附加到语言链接的标记,它可以识别例如文章是否在特定网站上是 精选文章徽章 (Q17437796)。它们不描述外部实体,而是描述特定网站上的页面。

这里有一个对维基媒体项目徽章进行排名的查询。

SELECT ?wiki ?badge ?badgeLabel (COUNT(DISTINCT ?languagelink) AS ?count) (SAMPLE(?item) AS ?sample)
WHERE {
  ?languagelink schema:isPartOf ?wiki.
  ?languagelink wikibase:badge ?badge.
  ?languagelink schema:about ?item.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". 
                          ?badge rdfs:label ?badgeLabel.
                         }

}
GROUP BY ?wiki ?badge ?badgeLabel
ORDER BY DESC(?count)
LIMIT 100

试试看!

代码 schema:isPartOf(在语言链接中)检索维基媒体项目,例如 <https://en.wikipedia.org/>。
代码 wikibase:badge(在语言链接中)检索徽章,例如 精选文章徽章 (Q17437796)
代码 schema:about 将项目链接到语言链接。


华夏公益教科书