在 Sparql 中查询距离单位 - 维基数据示例

Querying distance units in Sparql - Wikidata example

我想知道在 Sparql 中处理距离单位的最简单方法。在这个维基数据示例中,我想 select 所有超过 8000 米的山脉;然而,当我 运行 下面的文字还包括所有超过 8000 英尺的山脉。是否可以将我感兴趣的单位指定为米,对于以英尺指定的山脉,是否需要转换为米?

#Mountains Over 8000m
SELECT ?mountainLabel ?height 
WHERE 
{
  ?mountain wdt:P31 wd:Q8502. 
  ?mountain wdt:P2044 ?height.

  FILTER(8000 <= ?height)

  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en, de". }
}

psn 命名空间前缀 is used to normalize units of measure。您的查询可能如下所示:

SELECT ?mountainLabel ?height 
WHERE 
{
  ?mountain wdt:P31 wd:Q8502. 
  ?mountain p:P2044/psn:P2044/wikibase:quantityAmount ?height .
  FILTER(8000 <= ?height)
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en, de". }
}