问题标签 [wikidata-query-service]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
184 浏览

sparql - 如何通过在 Wikidata 查询服务 (SPARQL) 中提供页面 URL 来获取数据

我正在尝试从 Wikipedia 获取一些数据列表。所以我正在使用 Wikidata SPARQL 查询服务。我需要知道的是如何从URL (Wikipedia page URL). 目前我正在从name. 以下是我的查询,

我需要按 URL 而不是名称搜索。我怎样才能做到这一点?也可以从 URL 中获取子链接。我试过了,我找不到任何办法得到它们。所以任何人都可以告诉我我在这里做错了什么?我对此表示高度赞赏。谢谢你。

0 投票
0 回答
30 浏览

sparql - Wikidata/Wikidata-Toolkit 通过 SPARQL 查询获取实体 (#362)

我试图了解上述问题,但仍不清楚该问题的确切要求。你能再详细描述一下吗?

我能弄清楚的是:-

  1. 此查询正在维基数据查询服务平台上运行

    选择 ?station WHERE { ?station wdt:P954 ?ibnr. 过滤器正则表达式(?ibnr,"^80","i") }

  2. 这也是——

    SELECT ?station ?stationLabel WHERE { ?station wdt:P954 ?ibnr FILTER regex(?ibnr,"^80","i") SERVICE wikibase:label { # ... 包括标签 bd:serviceParam wikibase:language "[AUTO_LANGUAGE ],en" } }

但是,这也给出了与使用 Service 关键字提取的站名相关的标签(这两个是您在评论中提到的。)那么,API 的目的到底是什么?因为标准 SPARQL 查询也在该 Wikidata 查询服务平台上运行。如果可能的话,还请提及我应该通过的文件。

0 投票
0 回答
55 浏览

bash - 通过命令行(wdq)批量处理维基数据查询服务中的列表

我试图通过使用 wdq 命令查询 Wikidata 从列表中提取某些人的姓名和死亡日期。

我希望在 Bash Shell 上使用以下命令来实现这一点:

while read line; do wdq 'SELECT * WHERE { ?person rdfs:label "$line"@en; wdt:P1559 ?name_in_native_language; wdt:P570 ?dateOfDeath. }'; done < people_list.txt

wherepeople_list.txt是人名和姓氏的列表,每行一个。

我目前得到的是not found列表中任何项目的字符串。

我在哪里弄错了?

0 投票
1 回答
160 浏览

sparql - 查询适用于 wikidata 查询服务,但不适用于 Apache Jena 副本

下面的查询是我的问题Getting only english property value的公认答案。用在维基数据查询服务上试试吧!它将显示澳大利亚 -> AUS 和奥地利 -> AUT 等国家的短名称。在几周前基于 Apache Jena Fuseki创建的本地 Wikidata 副本上运行相同的查询, shortName 列保持为空(见下面的屏幕截图)。

差异的原因是什么?如何修改查询以使其也适用于 Apache Jena Fuseki?

Apache Jena Fuseki 截图

0 投票
1 回答
69 浏览

sparql - Wikidata 查询服务为实体搜索返回空

我曾经运行从 MWAPI 页面获取的以下示例,没有问题。但是,我今天和昨天都试过了,发现无论你搜索什么实体,结果总是空的。还有其他人有同样的问题吗?有什么解决办法吗?

0 投票
0 回答
29 浏览

wikidata - query.wikidata.org 和 wikidata.org 之间的区别

我很困惑。试图获取加拿大省和地区的列表,即一级省。所以我正在寻找与Q16(加拿大)相关的Q10864048(一级行政国家细分)的子类。我正在寻找的子类当然是Q11828004(加拿大省),它确实是Q10864048的子类。

所以,让我们查询 Q10864048 的子类。这不会产生 Q11828004。

奇怪的。Wikidata 说 Q11828004 是 Q10864048 的子类,但query.wikidata.org说它不是。至少,query.wikidata.org 找到了 Q10864048 的 264 个其他直接子类。

检查 SQID 工具:https ://sqid.toolforge.org/#/view?id=Q11828004 。是的,Q11828004 是 Q10864048 的子类。

检查超类:https ://sqid.toolforge.org/#/view?id=Q10864048 。“直接子类:无”。所以SQID说Q11828004是Q10864048的直接子类,但是Q10864048没有子类?

而且,当一个类没有任何直接子类时,它怎么能有 14 个子类呢?

这根本不符合逻辑。三个工具,各有各的说法,SQID 工具甚至自相矛盾。

一种可能性是这些工具在不同的版本上运行,即不同的数据转储。但是,该声明Q11828004 P279 Q10864048自 2017 年 4 月以来一直存在于数据中,因此它应该存在于所有数据转储中。

我错过了什么?

注意:似乎query.wikidata.org知道关系Q11828004 P279 Q2879, 和Q2879 P279 Q10864048。但这仍然不能解释上面提到的差异。

0 投票
0 回答
153 浏览

sparql - 如何在 Wikidata 的 SPARQL 查询中从输出中排除值?

我正在尝试使用 Wikidata 查询服务编写一个 SPARQL 查询,以检索 1970 年以来荷兰的所有首相。但是,我想通过检查首相是否为大学工作来过滤输出。如果部长为一所大学工作,则不应出现在输出中。

我想我必须使用 FILTER NOT EXISTS 表达式,但不知道如何正确编写这一行。有人可以帮我吗?

请参阅下面的查询和输出:

0 投票
1 回答
104 浏览

sparql - 为什么这个 Wikidata sparql 超时?

这个好像比较简单,查询巴拉克奥巴马的出生日期,为什么在https://query.wikidata.org/上要这么长时间才超时?只有大约 3 个实体带有 Barack Obama 的标签,还有大约 2 个带有“出生日期”的标签

0 投票
4 回答
276 浏览

python - 如何在 Python 中使用 OAuth 对 Wikimedia Commons 查询服务进行身份验证?

我正在尝试使用 Python 以编程方式使用 Wikimedia Commons 查询服务 [1],但无法通过 OAuth 1 进行身份验证。

下面是一个自包含的 Python 示例,它不能按预期工作。预期的行为是返回结果集,而是返回登录页面的 HTML 响应。您可以使用pip install --user sparqlwrapper oauthlib certifi. 然后应该为脚本提供一个文本文件的路径,该文件包含在申请仅所有者令牌后给出的粘贴输出[2]。例如

[1] https://wcqs-beta.wmflabs.org/https://diff.wikimedia.org/2020/10/29/sparql-in-the-shadow-of-structured-data-on-commons/

[2] https://www.mediawiki.org/wiki/OAuth/Owner-only_consumers

我也尝试过不使用 SPARQLWrapper,但只使用 requests+requests_ouathlib。但是,我遇到了同样的问题 --- 返回了登录页面的 HTML --- 所以看起来它实际上可能是 Wikimedia Commons 查询服务的问题。

0 投票
1 回答
86 浏览

sparql - 如何使用 SPARQL 查询 Wikidata 以获取特定属性?

我正在使用 Wikidata 查询服务来尝试获取 Wikidata 中包含 UMLS CUI(属性 P2892)的所有实例。

我试过做

但我得到了错误Query is malformed: Encountered " "." ". "" at line 3, column 17.

我该如何解决这个错误?