get wikidata oldest and latest revision timestamp

时光毁灭记忆、已成空白 提交于 2020-05-17 06:14:07

问题


Yesterday, I asked a question about how to get wikidata oldest and latest timestamp for "Kevin Kratz (Q939047)", someone suggested using API sandbox to create the query like this:

oldest timestamp: https://www.wikidata.org/w/api.php?action=query&format=json&list=allrevisions&titles=Kevin%20Kratz&arvprop=ids|timestamp|flags|comment|user&arvlimit=1&arvdir=newer

latest timestamp: https://www.wikidata.org/w/api.php?action=query&format=json&list=allrevisions&titles=Kevin%20Kratz&arvprop=ids|timestamp|flags|comment|user&arvlimit=1&arvdir=older

it returned this results: -> oldest timestamp "timestamp": "2004-07-16T02:43:38Z".

-> latest timestamp "timestamp": "2020-03-06T16:33:59Z".

Howerver, after cheking revision history of "Kevin Kratz", I found this (the pic in the end)

After knowing that wikidata was launched in 2012, it made the oldest timestamp value returned by the API sandbox query "2004-07-16T02:43:38Z", irrelevant (latest timestamp from revision history unequal the one from api-sandbox query).

So is there a way to get the latest and oldest timestamp from wikidata revision history?


回答1:


With list=allrevision you are getting all revisions, not only those of "Kevin Kratz". The oldest revision in Wikidata is from 2004 is because at the beginning of Wikidata some pages were imported from other Wikimedia projects including the revision history.

To get the oldest or newest revision of a particular Wikidata item use prop=revisions. You will have to use the Q-id of the item (Q939047) and not the label (Kevin Kratz) because only the Q-id is unique. The API request to get the oldest revision then reads: https://www.wikidata.org/w/api.php?action=query&format=json&prop=revisions&titles=Q939047&rvprop=ids|timestamp|flags|comment|user&rvlimit=1&rvdir=newer. And for the newest revision: https://www.wikidata.org/w/api.php?action=query&format=json&prop=revisions&titles=Q939047&rvprop=ids|timestamp|flags|comment|user&rvlimit=1&rvdir=older.



来源:https://stackoverflow.com/questions/60577244/get-wikidata-oldest-and-latest-revision-timestamp

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!