本文介绍了获取超过10种语言的所有维基数据项目?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试通过SPARQL从维基数据获取世界上最著名的电影。

我有以下问题:

SELECT ?item WHERE {
  ?item wdt:P31 wd:Q11424.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}

它返回所有电影(大约214143)。

我基本上只需要在维基百科上有10个以上语言条目的电影,因为我猜这些会是最著名的。

有没有一种方法可以在查询本身内完成此操作,而无需检查所有条目?

推荐答案

对您的问题的简单回答是:

SELECT ?movie (count(?wikipage) AS ?count) WHERE {
   hint:Query hint:optimizer "None" .
   ?movie wdt:P31 wd:Q11424 .
   ?wikipage schema:about ?movie .
   ?wikipage schema:isPartOf/wikibase:wikiGroup "wikipedia"
} GROUP BY ?movie HAVING (?count > 10) ORDER BY DESC(?count)

Try it!

或者,您可以考虑站点链接的总数。站点链接包括到维基百科的链接,也包括到维基百科、维基旅行等的链接。优点是站点链接的总数是预先计算的。

SELECT ?movie ?sitelinks WHERE {
   ?movie wdt:P31 wd:Q11424 .
   ?movie wikibase:sitelinks ?sitelinks .
   FILTER (?sitelinks > 10)
} ORDER BY DESC(?sitelinks)

Try it!

另请参阅以下问题:


正如@TallTed和@AKSW指出的那样,不同语言的标签数量可能与不同语言的维基百科文章数量不同。下面是比较。

维基百科文章排名前5的电影

|        title        | articles | sitelinks | labels |
|---------------------|----------|-----------|--------|
| Avatar              |       92 |       103 |     99 |
| Titanic             |       86 |       100 |    101 |
| The Godfather       |       79 |       103 |     82 |
| Slumdog Millionaire |       72 |        75 |     80 |
| Forrest Gump        |       71 |       101 |     84 |

按网站链接排名前5的电影

|     title     | articles | sitelinks | labels |
|---------------|----------|-----------|--------|
| Avatar        |       92 |       103 |     99 |
| The Godfather |       79 |       103 |     82 |
| Forrest Gump  |       71 |       101 |     84 |
| Titanic       |       86 |       100 |    101 |
| The Matrix    |       67 |        94 |     77 |

排名前5的电影

|            title             | articles | sitelinks | labels |
|------------------------------|----------|-----------|--------|
| The 25th Reich               |        2 |         2 |    227 |
| Time Is But Brief            |        0 |         0 |    224 |
| Michael Moore in TrumpLand   |        6 |         6 |    222 |
| Magnus - The Mozart of Chess |        1 |         1 |    221 |
| Lee Chong Wei                |        1 |         1 |    196 |

这篇关于获取超过10种语言的所有维基数据项目?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-05 18:08