【发布时间】:2020-02-12 12:55:58
【问题描述】:
我正在从babelfy endpoint 的 Python 脚本执行实体链接。执行时,我有一个实体,其中包含两个、一个或没有知识库条目:babelnet 和 dbpedia。
一旦我有了这个,我想得到我刚刚收到的实体地点的经纬度坐标。实现这一目标的最佳方法是什么?
我一直在阅读一些选项,我认为完成此操作的可靠方法是向dbpedia sparql endpoint 发出 Python 请求。但是我对 SPARQL 完全陌生,我不知道如何通过提供地名或更简单的实体条目来获取那些经纬度坐标。
例如,给定这个真实的输出,SPARQL 查询应该如何获取坐标?
- 实体名称:马德里
- dbpedia 条目: http://dbpedia.org/resource/Madrid
- babelnet 入口: http://babelnet.org/rdf/s00015620n
【问题讨论】:
-
到目前为止你做了什么?我的意思是,这是最简单的查询之一。
-
这里:
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