维基数据API提供基于日期的字段作为数据雪崩$类型==“时间”。例如,考虑哈佛大学的初始日期(属性值== P571):
$mainsnak
$mainsnak$snaktype
[1] "value"
$mainsnak$property
[1] "P571"
$mainsnak$hash
[1] "5efb5e7d891727df657771128dcb0512f7f18e10"
$mainsnak$datavalue
$mainsnak$datavalue$value
$mainsnak$datavalue$value$time
[1] "+1636-01-01T00:00:00Z"
$mainsnak$datavalue$value$timezone
[1] 0
$mainsnak$datavalue$value$before
[1] 0
$mainsnak$datavalue$value$after
[1] 0
$mainsnak$datavalue$value$precision
[1] 9
$mainsnak$datavalue$value$calendarmodel
[1] "http://www.wikidata.org/entity/Q1985727"
$mainsnak$datavalue$type
[1] "time"
$mainsnak$datatype
[1] "time"
$type
[1] "statement"
$id
[1] "q13371$cf938885-4a4d-697c-a957-b2d7effe8bbb"
$rank
[1] "normal"mainsnak$datavalue$value$time是"+1636-01-01T00:00:00Z",当解析到日期时,它是1636-01-01。但在网页上,只显示了一年:

我相信这是因为时间的准确性只有当年好--哈佛大学成立于1636年,日期和月份都是未知的/模棱两可的/不相关的。所以我的问题是如何使用API来解析这个日期的时间准确性?我怀疑这和$mainsnak$datavalue$value$precision有关
PS哈佛维基数据的全部json在R中被拉了出来:
library(tidyverse)
wikidata_id <- "Q13371"
res <- httr::GET(url = paste0('https://www.wikidata.org/wiki/Special:EntityData/',wikidata_id,'.json')) %>%
httr::content() %>%
.[['entities']] %>%
.[[wikidata_id]]发布于 2022-05-27 17:37:03
每https://www.wikidata.org/wiki/Help:Dates的精度为9为年,10为月,11为日。
https://stackoverflow.com/questions/72398661
复制相似问题