获取包含 10 种以上语言的所有维基数据项目?

2024-01-02

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

我有以下查询:

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! https://query.wikidata.org/#SELECT%20%3Fmovie%20%28count%28%3Fwikipage%29%20AS%20%3Fcount%29%20WHERE%20%7B%0A%20%20%20hint%3AQuery%20hint%3Aoptimizer%20%22None%22.%0A%20%20%20%3Fmovie%20wdt%3AP31%20wd%3AQ11424.%0A%20%20%20%3Fwikipage%20schema%3Aabout%20%3Fmovie%20.%0A%20%20%20%3Fwikipage%20schema%3AisPartOf%2Fwikibase%3AwikiGroup%20%22wikipedia%22%20.%0A%7D%20GROUP%20BY%20%3Fmovie%20HAVING%20%28%3Fcount%20%3E%2010%29%20ORDER%20BY%20DESC%28%3Fcount%29

或者,您可以考虑附加链接的总数。附加链接包括到维基百科的链接以及到维基语录、维基导游等的链接。优点是附加链接的总数是预先计算的。

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

Try it! https://query.wikidata.org/#SELECT%20%3Fmovie%20%3Fsitelinks%20WHERE%20%7B%0A%20%20%20%3Fmovie%20wdt%3AP31%20wd%3AQ11424.%0A%20%20%20%3Fmovie%20wikibase%3Asitelinks%20%3Fsitelinks%20.%0A%20%20%20FILTER%20%28%3Fsitelinks%20%3E%2010%29%20%0A%7D%20ORDER%20BY%20DESC%28%3Fsitelinks%29

另请参阅以下问题:

  • 在维基数据 SPARQL 查询中获取维基百科 URL(附加链接) https://opendata.stackexchange.com/q/6050/16193
  • 维基数据结果按类似于 PageRank 的方式排序 https://stackoverflow.com/q/39438022/7879193

正如@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 |
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取包含 10 种以上语言的所有维基数据项目? 的相关文章

随机推荐

  • 限制Elastic Search中should子句的结果数量

    我正在编写一个查询来获取与多个短语之一匹配的结果 例如 size 10 from 0 query bool should text title query some words text title query other words te
  • Objective-C 如何在一行上打印 NSSet(无尾随逗号/空格)

    我试图在单行上打印 NSSet 以逗号分隔 但没有尾随逗号或空格 我怎样才能做到这一点 我知道这适用于数组 NSMutableString outputStringArray NSMutableString alloc init NSMut
  • jquery ui 自动完成功能在 ie8 中不起作用(直到页面刷新)

    我正在使用 jquery ui 自动完成功能 它在除 ie8 之外的所有浏览器中都工作得非常好 我一直在做一些测试 似乎有一个奇怪的错误 当我单击指向相关页面的链接时 当我开始在自动完成框中键入内容时 ie8 会生成以下错误 对象不支持此属
  • 为什么“java -version”将其输出打印到错误流?

    让我们尝试重定向标准错误java java version 2 gt error txt error txt已填充版本 让我们尝试重定向标准输出 java version gt output txt output txt是空的 为什么jav
  • MySQL 工作台未从 csv 导入所有行

    我正在尝试将 CSV 文件导入到 MySql 中的新表中 该文件有 100 万行 但 MySql 仅导入 847 行 我尝试保存 CSV 文件并导入各种格式 utf 8 windows 1205 等 CSV 文件有一个 INDEX 列 其中
  • PHP 中的暴力/DoS 预防 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在尝试编写一个脚本来防止在我正在构建的网站中进行暴力登录尝试 逻辑是这样的 用户发送登录信息 Check if username and
  • 获取“主”程序集版本号

    我有一个包含库 DLL 的解决方案 该解决方案用于两个相同的项目 一个用于 WP7 另一个用于 WP8 在其中一个库中 我有确定应用程序版本的代码 private static Version mVersion public static
  • Python 3.4 OS X 10.10 中没有 pythonw?

    我正在将 OS X 10 10 上的 python 从默认安装 2 7 更新到最新的 3 4 我正在关注this https wolfpaulus com jounal mac installing python osx 教程替换pytho
  • SQL 选择括号内的值

    我的表中有一个列具有以下值 loan no SSS Pensioner Loan C000000001 SSS SSS Loan C000000002 SSS Salary Loan C000000007 SSS PAGIBIG Loan
  • 从源代码构建 Android Automotive

    TL DR 从源代码构建 Android Automotive 后 我该如何 运行汽车模拟器 将 CarService 和相关软件包 安装 到设备上 Details 我正在尝试建立安卓汽车 https source android com
  • GCC 对 const 限定符的警告是否正确?

    考虑下面的代码 它来自这个问题 https stackoverflow com questions 54502385 gcc casting const pointers to const pointer of array typedef
  • 数组、列表、集合和映射都是可迭代的。还有什么?

    哪怕只是List and Set实现接口Iterable 我相信数组 列表 集合和映射都是iterable对象 因为我们可以通过 foreach 循环使用它们 for String s new String 0 for String s n
  • 使用 SQL 查找重叠间隔

    我想从表中提取行 其间隔与查询中指定的间隔相交 假设我有一个简单的ID DATE START DATE END表和两个查询参数P DATE START and P DATE END 表达查询的最简单方法是什么 以便我找到其的所有行 DATE
  • struts2 2.3.20 ognl 允许静态方法访问

    我将项目更新为 Struts2 版本 2 3 20 现在 我的 JSP 中使用静态方法访问的所有情况都不起作用 ie
  • pg_stat_activity中backend_xmin和backend_xid代表什么?

    Postgresql公开视图pg stat activity 根据文档 https www postgresql org docs 9 4 monitoring stats html backend xid表示该后端的顶级事务标识符 如果有
  • Ruby 挑战 - 方法链接和惰性求值

    读完文章后http jeffkreeftmeijer com 2011 method chaining and lazy evaluation in ruby http jeffkreeftmeijer com 2011 method ch
  • jMeter Cookie Manager 不存储所有 cookie

    在阅读了互联网上的文档和帖子后 我仍然无法解决 jMeter 中 Cookie Manager 的问题 我在响应标头中获得了 sid ID 但它没有存储在我的 cookie 管理器中 以下是我的测试计划和 connect sid 响应的屏幕
  • mySQL select count,多个表

    我有三张桌子 table1 table2 table3 我试图获取每个表中的总行数以及价格列的总和 例如 r count total rows of all 3 tables combined r price sum of all pric
  • 在 Roslyn 的 .net core 中动态选择引用

    TL DR 如何让运行时在 NET Core 5 中为运行时编译的涉及 NET 4 7 2 代码的 C 插件选择正确的程序集 Context 我有一个 NET 4 7 2 应用程序 其中某些模块根据某些可配置插件的行为有所不同 我在 NET
  • 获取包含 10 种以上语言的所有维基数据项目?

    我正在尝试使用 SPARQL 从 Wikidata 获取世界上最著名的电影 我有以下查询 SELECT item WHERE item wdt P31 wd Q11424 SERVICE wikibase label bd serviceP