是否有API可以查询指定半径范围内的所有地理标记页面?
更新
好的,根据lost-theory的回答,我在DBpedia查询浏览器上尝试了这个:
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
SELECT ?subject ?label ?lat ?long WHERE {
?subject geo:lat ?lat.
?subject geo:long ?long.
?subject rdfs:label ?label.
FILTER(xsd:float(?lat) - 57.03185 <= 0.05 && 57.03185 - xsd:float(?lat) <= 0.05
&& xsd:float(?long) - 9.94513 <= 0.05 && 9.94513 - xsd:float(?long) <= 0.05
&& lang(?label) = "en"
).
} LIMIT 20
这很接近我想要的,但它返回点周围(local)正方形内的结果而不是圆形。另外,如果可能的话,我希望结果根据距离从远到近排序。
更新2
我正在尝试确定欧几里得距离作为真实距离的近似值,但我在SPARQL中无法将一个数字平方。(此处打开问题)。当我得到有用的东西时,我会更新问题,但与此同时,我将感谢任何关于替代方法的建议。更新3
最后一次更新。我放弃了通过DBpedia使用SPARQL。我编写了一个简单的解析器,每晚获取维基百科文章文本数据库转储,并解析所有地理编码的文章。它工作得相当好,它允许我按照自己的方式存储有关地理标记文章的信息。这可能是我将继续使用的解决方案,如果我能够创建一个漂亮的界面来使用它,我可能会考虑允许公共API访问和/或发布解析器源代码。