繁体   English   中英

使用 dbpedia sparql 从位置名称获取经纬度坐标

[英]Get lat and long coordinates from location name using dbpedia sparql

我正在执行来自babelfy endpoint的 Python 脚本的实体链接。 执行时,我有一个实体,其中包含两个、一个或没有知识库条目:babe.net 和 dbpedia。

一旦我有了这个,我想得到我刚刚收到的实体地点的经纬度坐标。 实现这一目标的最佳方法是什么?

我一直在阅读一些选项,我认为完成此操作的可靠方法是向dbpedia sparql endpoint发出 Python 请求。 但是,我是 SPARQL 的新手,我不知道如何通过提供地名或更轻松地输入实体条目来获取那些纬度和经度坐标。

例如,给定这个真实的 output,SPARQL 查询应该如何获取坐标?

您需要 dbpedia 条目中的geo.latgeo.long条目。

一个简单的 sparql 来获得这些将是

select ?name ?lat ?long 
where {
        ?s rdfs:label ?name.
        ?s geo:lat ?lat.
        ?s geo:long ?long.
       }

您可能需要为rdfsgeo添加适当的PREFIX详细信息,但仔细阅读应该可以解决这个问题。 geo的规范可以在这里找到: https://www.w3.org/2003/01/geo/#vocabulary

如上运行,端点应报告 dbpedia 中标记有纬度和经度详细信息的所有实体。

如果您想对 label 名称应用过滤器(即对特定内容进行搜索),可以通过在?s rdfs:label "Madrid". 例如。

同样,如果您想直接使用实体 URI 进行查询,则只需将查询中对?s的引用替换为您想要的特定 URI,或添加以下行:

BIND (<http://dbpedia.org/resource/Madrid> AS ?s)

?s变量设置为特定的内容并检索该条目的详细信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM