SPARQL 按距离过滤

SPARQL Filter by distance

给定一些建筑物及其各自的位置(纬度和经度),我怎样才能只得到一定距离内的建筑物?

假设我有个人 building0 位于特定地点。

ont1:building0 rdf:type ont1:Building 
ont1:building0 pos:lat 43.22 
ont1:building0 pos:lon -6.45

而且我想检索所有其他靠近 10 公里的建筑物。

SPARQL 是否允许以某种方式查询此内容?或者至少显示与其他建筑物的距离是多少??

提前致谢

有一个根据纬度和经度计算距离的公式:http://andrew.hedges.name/experiments/haversine/

但是,SPARQL 不支持三角函数。

GeoSPARQL 具有 goof:distance 函数来计算两个几何点之间的距离(如果您能够使用 GeoSPARQL)