问题标签 [wikidata-api]

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 投票
1 回答
740 浏览

wikidata - 如何使用 Wikidata API 查找城市实体?

我尝试根据城市名称的一部分来查找城市(通常是https://en.wikipedia.org/wiki/Lavo%C3%BBte-sur-Loire,法国城市)

我发现的唯一方法是首先通过以下请求请求“Lavoute”(不带重音)。

https://fr.wikipedia.org/w/api.php?action=opensearch&generator=links&format=xml&search=lavoute&prop=pageprops&gpllimit=50&ppprop=wikibase_item&format=json

它返回 5 个链接,然后使用此信息请求所有结果,这些结果最后都具有这样的结果,并且具有良好的价值(具有属性 P281 意味着它是一个城市)

https://www.wikidata.org/w/api.php?action=wbgetentities&titles=Lavo%C3%BBte-sur-Loire&sites=enwiki|frwiki&format=json

有没有更简单的方法?

0 投票
1 回答
161 浏览

javascript - 如何从 Wikidata API 读取数据响应?

我正在制作一个 ReactJS 应用程序,以在人们搜索时显示有关人们的信息。我正在尝试使用 MediaWiki 从 Wikipedia 获取有关某人的信息。我正在进行 API 调用,但响应非常奇怪。我在 API 响应中收到了一大堆“声明”,我不知道如何从中获取有用的信息

这是我得到的回应:

回复

现在我应该如何处理这些声明?信息本身分散在那里。例如:“出生日期”键在其他声明中,“死亡日期”的值在其他声明中。我想在我的页面中显示这样的信息:

输出

我该怎么做?我找不到这方面的任何指南。

0 投票
0 回答
114 浏览

wikipedia - 如何获取给定 Wikidata JSON 转储的截止时间戳或 lastrevid?

我正在使用丰富了其他数据源的 Wikidata,我必须在我的开发图数据库中摄取整个Wikidata JSON 转储。

这很容易,一旦完成,我想通过查询 RecentChanges 和 LogEvents API 端点来检索在两个时间戳之间发生的更改/删除/创建(我每隔几分钟就会这样做)来更新我的副本 - 这相对容易也!

我无法理解的是......

如何获取给定 JSON 转储的截止时间戳?由于JSON 转储中不存在modified时间戳和字段,因此在哪里可用或如何解决。lastrevid

0 投票
2 回答
948 浏览

javascript - 如何在 Node.js 中登录 MediaWiki(维基百科)API

我正在尝试API:Login文档中描述的Wikipedia客户端登录流程,但发生了一些错误:

1) 我正确地获得了一个使用 HTTP GET 提出的令牌https://en.wikipedia.org/w/api.php?action=query&meta=tokens&type=login&format=json

我得到一个有效的logintoken字符串。

2.1)然后我尝试clientlogin类似:

HTTP POST/w/api.php?action=clientlogin&format=json&lgname=xxxx&lgtoken=xxxx%2B%5C

POST BODY 是

但我收到一个错误:

如果我尝试更改lgtoken为,token我会得到相同的结果。

2.2)然后我尝试了旧方法action=login,即传递正文,但它不起作用,因为它给了我另一个登录令牌:HTTP POSThttps://en.wikipedia.org/w/api.php?action=login&format=json&lgname=xxxx

和相同的 POST BODY

然后我得到

}

这里的文档指出

NeedToken if the lgtoken parameter was not provided or no session was active (e.g. your cookie handling is broken).

但如图所示,我已经通过了lgtokenjson 正文。我正在使用Node.js和内置http模块,它应该以Cookies正确的方式传递和保持会话(使用其他 api 可以正常工作)。

我在这里的 LrMediaWiki 客户端上发现了类似的问题。

[更新] 这是我目前的实现:

哪里this.api是 Node.js http 的简单包装器,源代码可在此处获得,api 签名如下:

0 投票
1 回答
610 浏览

sparql - 获取 Wikidata 项的所有子项(但不是实例)

例如,采取这三种情况:

我希望所有的后代都在实例( , , )temporal entity之前停止。Triangle Shirtwaist Factory fireWorld's FairPeloponnesian War

有没有办法用 SPARQL 或 API 做到这一点?

0 投票
1 回答
370 浏览

mediawiki - 如何从 Wikidata API 获取实体/搜索查询的描述

我想使用 Wikidata API 获取搜索查询的描述。我发现该设置参数action可以wbsearchentities描述与实体匹配的所有字符串。谁能告诉我如何获取有关任何选定实体的更多描述,例如我们在任何搜索引擎右侧的任何搜索引擎中拥有的实体。

0 投票
2 回答
1643 浏览

google-places-api - 如何使用 Google API 或任何其他 API 获取地点描述?

Google API用来获取地点信息并将其存储到数据库中。使用Google API我可以获得地址、营业时间、评级和评论,如下图所示。

但是,我无法获得在下图中以红色圆圈突出显示的地点描述。( "Quaint Italian mainstay for deep-dish, Chicago-style pizza, calzones, pastas & hot dogs.") 在此处输入图像描述

我希望在我的应用程序中获得这些信息。我认为谷歌正在从

  1. 自由基地https://developers.google.com/freebase/guide/basic_concepts
  2. 维基百科https://www.mediawiki.org/wiki/How_to_contribute

但我不确定。任何人都可以帮助我建议我如何获取该信息或任何其他我可以用来获取基于google place_id.

任何帮助将不胜感激。

谢谢

0 投票
1 回答
151 浏览

google-maps-api-3 - 如何使用经纬度的谷歌知识图获取地点信息?

我想要使​​用google API或的业务描述wikidata API在此处输入图像描述

如上图所示,我想访问描述(以红色圆圈突出显示。)并将其存储到应用程序数据库中。

到目前为止,我尝试过google place API都是获取地点信息,使用它可以获取评论、评分、营业时间等信息。但我无法获得上图中提到的信息。但我不知道如何使用Wikidata apior获取该信息Google Knowledge Graph api

任何人都可以建议我如何使用该 API 来获取该信息。

任何帮助将不胜感激!

谢谢,

0 投票
1 回答
143 浏览

wikidata-api - 如何从 wikidata API 中提取人名信息?

我无法理解 wikidata.org 的工作方式!甚至文档都不清楚,因为 facebook API,我的目标是 downliad

所有可用的人名(全名,名字(所有语言))+人类语言+性别+国家。

请不要 -1 ,我正在学习,老实说我尝试了很多,但维基数据查询的工作方式非常模糊。

以及如何在不超时的情况下下载所有数据库?

0 投票
1 回答
7516 浏览

python - Extract data from Wikidata in Python

With the following code it is possible to extract data from entities in Wikidata:

and the output is:

But going to the concepturi 'http://www.wikidata.org/entity/Q52 I see more information than reported here in the json file, specifically I am interested on motto text field.

How could I get more information from Wikidata? (this is an example more could be shown where the query outputs less info than contained in Wikidata).