问题标签 [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.
sparql - 如何通过在 Wikidata 查询服务 (SPARQL) 中提供页面 URL 来获取数据
我正在尝试从 Wikipedia 获取一些数据列表。所以我正在使用 Wikidata SPARQL 查询服务。我需要知道的是如何从URL (Wikipedia page URL)
. 目前我正在从name
. 以下是我的查询,
我需要按 URL 而不是名称搜索。我怎样才能做到这一点?也可以从 URL 中获取子链接。我试过了,我找不到任何办法得到它们。所以任何人都可以告诉我我在这里做错了什么?我对此表示高度赞赏。谢谢你。
sparql - Wikidata/Wikidata-Toolkit 通过 SPARQL 查询获取实体 (#362)
我试图了解上述问题,但仍不清楚该问题的确切要求。你能再详细描述一下吗?
我能弄清楚的是:-
此查询正在维基数据查询服务平台上运行
选择 ?station WHERE { ?station wdt:P954 ?ibnr. 过滤器正则表达式(?ibnr,"^80","i") }
这也是——
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 查询服务平台上运行。如果可能的话,还请提及我应该通过的文件。
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
列表中任何项目的字符串。
我在哪里弄错了?
sparql - 查询适用于 wikidata 查询服务,但不适用于 Apache Jena 副本
下面的查询是我的问题Getting only english property value的公认答案。用在维基数据查询服务上试试吧!它将显示澳大利亚 -> AUS 和奥地利 -> AUT 等国家的短名称。在几周前基于 Apache Jena Fuseki创建的本地 Wikidata 副本上运行相同的查询, shortName 列保持为空(见下面的屏幕截图)。
差异的原因是什么?如何修改查询以使其也适用于 Apache Jena Fuseki?
sparql - Wikidata 查询服务为实体搜索返回空
我曾经运行从 MWAPI 页面获取的以下示例,没有问题。但是,我今天和昨天都试过了,发现无论你搜索什么实体,结果总是空的。还有其他人有同样的问题吗?有什么解决办法吗?
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
。但这仍然不能解释上面提到的差异。
sparql - 如何在 Wikidata 的 SPARQL 查询中从输出中排除值?
我正在尝试使用 Wikidata 查询服务编写一个 SPARQL 查询,以检索 1970 年以来荷兰的所有首相。但是,我想通过检查首相是否为大学工作来过滤输出。如果部长为一所大学工作,则不应出现在输出中。
我想我必须使用 FILTER NOT EXISTS 表达式,但不知道如何正确编写这一行。有人可以帮我吗?
请参阅下面的查询和输出:
sparql - 为什么这个 Wikidata sparql 超时?
这个好像比较简单,查询巴拉克奥巴马的出生日期,为什么在https://query.wikidata.org/上要这么长时间才超时?只有大约 3 个实体带有 Barack Obama 的标签,还有大约 2 个带有“出生日期”的标签
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 查询服务的问题。
sparql - 如何使用 SPARQL 查询 Wikidata 以获取特定属性?
我正在使用 Wikidata 查询服务来尝试获取 Wikidata 中包含 UMLS CUI(属性 P2892)的所有实例。
我试过做
但我得到了错误Query is malformed: Encountered " "." ". "" at line 3, column 17.
我该如何解决这个错误?