Wikidata:SPARQL查询服务单元

Wikidata:SPARQL查询服务单元,sparql,wikidata,Sparql,Wikidata,如何使用SPARQL在Wikidata查询服务()中获取单位类型和日期精度 下面是查看挂毯尺寸和起始的示例查询 SELECT ?item ?itemLabel ?height ?width ?inception WHERE { ?item wdt:P31 wd:Q184296 . OPTIONAL { ?item wdt:P2048 ?height . ?item wdt:P2049 ?width . ?item wdt:P571

如何使用SPARQL在Wikidata查询服务()中获取单位类型和日期精度

下面是查看挂毯尺寸和起始的示例查询

SELECT ?item ?itemLabel ?height ?width ?inception
WHERE
{
    ?item wdt:P31 wd:Q184296 .
    OPTIONAL {
        ?item wdt:P2048 ?height .
        ?item wdt:P2049 ?width .
        ?item wdt:P571 ?inception .
    }
    SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en" }
} LIMIT 1
我在网站上看到Bayeux Tapestry()以米为单位,是在1070年代制作的。但当我使用查询服务时,我只得到高度和宽度的数字。《盗梦空间》在网站上是1070秒,但在查询服务上是1070年1月1日。我看了文档,但不明白


如何在查询服务中获取单位和日期精度?

获取有关语句和单位的信息在Wikidata中是这样工作的:

SELECT?item?itemlab
?高度?单位高度标签
?宽度?单位宽度标签
?起始?精度标签在哪里{
?项目wdt:P31 wd:Q184296。
可选的{
项目p:P2048?节点高度#高度
?STM节点高度psv:P2048?值节点高度。
?valuenodeHeight wikibase:quantityAmount?高度。
?valuenodeHeight wikibase:quantityUnit?unitHeight。
?项目p:P2049?stmnodeWidth.#宽度
stmnodeWidth psv:P2049?值nodewidth。
?valuenodeWidth wikibase:quantityAmount?宽度。
?valuenodeWidth wikibase:quantityUnit?unitWidth。
?项目p:P571/psv:P571?时间节点。
?时间节点维基库:时间值?起始。
?时间节点wikibase:timePrecision?timePrecision。
#获取时间精度标签(作者@StanislavKralin)
{
选择精度(xsd:integer(?precisionDecimal)作为时间精度){
?精度wdt:P2803?精度十进制。
}
}
服务wikibase:label{bd:serviceParam wikibase:language“[AUTO_language],en”}
}限制1
使用SPARQL 1.1属性路径+海龟快捷方式的更紧凑版本:

SELECT?item?itemlab
?高度?单位高度标签
?宽度?单位宽度标签
?起始?精度标签在哪里{
?项目wdt:P31 wd:Q184296。
可选的{
#高度
?项目p:P2048/psv:P2048[wikibase:quantityAmount?高度;
wikibase:quantityUnit?unitHeight]。
#宽度
?项目p:P2049/psv:P2049[wikibase:quantityAmount?宽度;
wikibase:quantityUnit?unitWidth]。
#开端
?项目p:P571/psv:P571[wikibase:timeValue?初始值;
wikibase:timePrecision?timePrecision]
#获取时间精度标签(作者@StanislavKralin)
{
选择精度(xsd:integer(?precisionDecimal)作为时间精度){
?精度wdt:P2803?精度十进制。
}
}
} 
服务wikibase:label{bd:serviceParam wikibase:language“[AUTO_language],en”}
}限制1
结果:

+-------------+-----------------+--------+-----------------+-------+----------------+-------------+---------------+
|    item     |    itemLabel    | height | unitHeightLabel | width | unitWidthLabel |  inception  | precisionLabel |
+-------------+-----------------+--------+-----------------+-------+----------------+-------------+---------------+
|  wd:Q187483 | Bayeux Tapestry |    0.5 | metre           | 68.38 | metre          | Jan 1, 1070 |             8 |
+-------------+-----------------+--------+-----------------+-------+----------------+-------------+---------------+
精度的代码是0:十亿年、1:亿年、3:百万年、4:十万年、5:10000年、6:millennium、7:century、8:decade、9:year、10:month、11:day、12:hour、13:minute、14:second


AKSW,回答得很好!小评论:可以使用
P2803
检索这些精确代码的文本表示:参见示例(但不幸的是,类型转换看起来不可避免)。哦,当然,我不知道。谢谢!