【问题标题】:Get all Wikidata items that have more than 10 languages?获取所有超过 10 种语言的 Wikidata 项目?
【发布时间】:2018-01-27 16:48:18
【问题描述】:

我正在尝试使用 SPARQL 从 Wikidata 获取世界上最著名的电影。

我有以下疑问:

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

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

我基本上只需要维基百科上有超过 10 种语言条目的电影,因为我猜这些将是最著名的。

有没有办法在查询本身内部执行此操作,而不检查所有条目?

【问题讨论】:

  • “着名”的有趣定义...请注意,维基数据内容与维基百科内容不同,因此维基数据上使用的语言数量可能多于或少于使用的语言数量在维基百科上。
  • 我意识到这一点,但我认为语言(标签)的数量对于确定其受欢迎程度仍然非常有用。
  • 可以检索所谓的附加链接,然后计算每部电影的数量。幸运的是,附加链接的数量是一个预先计算好的值:stackoverflow.com/a/46797845/7879193
  • 我也会对电影使用其他一些衡量标准,但如果您对此感到满意:SELECT ?item (count(distinct ?lang) as ?langCnt) WHERE { ?item wdt:P31 wd:Q11424. ?item rdfs:label ?label . bind(lang(?label) as ?lang) } group by ?item having (count(distinct ?lang) > 10)

标签: sparql wikidata


【解决方案1】:

您的问题的一个天真的答案是:

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!

或者,您可以考虑附加链接的总数。附加链接包括指向 Wikipedia 的链接以及指向 Wikiquote、Wikivoyage 等的链接。优点是附加链接的总数是预先计算的。

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 |

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多