【问题标题】:Get lat and long coordinates from location name using dbpedia sparql使用 dbpedia sparql 从位置名称获取经纬度坐标
【发布时间】:2020-02-12 12:55:58
【问题描述】:

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

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

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

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

【问题讨论】:

  • 到目前为止你做了什么?我的意思是,这是最简单的查询之一。
  • 这里:select * { <http://dbpedia.org/resource/Madrid> geo:lat ?lat ; geo:long ?long } - 这对你有帮助吗,如果你需要别的东西怎么办?
  • @UninformedUser 这正是我所需要的。还有一件事,如果没有检索到 dbpedia 条目,查询如何通过实体名称获取坐标?
  • select * { ?s rdfs:label "Madrid"@en ; geo:lat ?lat ; geo:long ?long } - 主要缺点:1)它必须完全匹配,更重要的是 2)多个实体可以有相同的标签。这就是为什么使用 URI,您将拥有实体的唯一标识符
  • 非常感谢。还有一件事:我正在尝试使用 Babelfy [babelnet.org/sparql/] 的 sparql 查询编辑器复制此功能。但是,我不知道在他们进入链接之后应该放什么。你知道如何从 babelnet 条目中获取坐标,例如我在问题上发布的那个吗?顺便说一句,如果你想发布你的答案,我会选择它作为正确的答案。感谢您的帮助

标签: python coordinates sparql dbpedia


【解决方案1】:

您需要来自 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 中标记有纬度和经度详细信息的所有实体。

如果您想对标签名称应用过滤器(即搜索特定内容),可以通过在 ?s rdfs:label "Madrid". 上添加一个额外的过滤器来完成。

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

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

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

【讨论】:

  • 这个答案中的问题太多......它必须是: 前缀后的冒号geo。此外,?s rdfs:label "Madrid".BIND (&lt;http://dbpedia.org/page/Madrid&gt; AS ?s) 都不起作用。 DBpedia 中的标签有语言标签,所以如果我们假设英语为语言,它应该是 ?s rdfs:label "Madrid"@en. - 并且 URI 是 /resource/ 而不是 /page/ - 这仅用于 HTML 呈现
  • 感谢您的反馈,您说的很对,我已经有一段时间没有编写(或运行)任何 sparql 了,看来我有点生疏了!我已在上面合并了您的更正。
  • 文字的语言标签仍然缺失...DBpedia 端点提供的命名空间可以在这里找到:dbpedia.org/sparql?help=nsdecl
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-14
  • 1970-01-01
  • 1970-01-01
  • 2018-03-23
  • 2018-12-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多