我正在从babelfy endpoint的Python脚本执行实体链接。执行该操作时,我有一个实体,其中包含两个,一个或一个到知识库的条目:babelnet和dbpedia。
一旦有了这个,我想获取我刚刚收到的实体位置的纬度和经度坐标。实现此目的的最佳方法是什么?
我一直在阅读一些选项,我认为完成此操作的可靠方法是向dbpedia sparql endpoint发送Python请求。但是,我对SPARQL完全陌生,我不知道如何通过提供地名或更简单地输入实体条目来获取纬度和经度坐标。
例如,给定此实际输出,SPARQL查询应如何获取坐标?
您需要dbpedia条目中的geo.lat
和geo.long
条目。
获得这些的简单sparql将是
select ?name ?lat ?long
where {
?s rdfs:label ?name.
?s geo.lat ?lat.
?s geo.long ?long.
}
[您可能不得不摆弄PREFIX
和rdfs
的适当geo
详细信息,但仔细阅读应该可以解决这一问题。
如上所述运行,端点应报告dbpedia中所有标有纬度和经度详细信息的实体。
[如果您想在标签名称上应用过滤器(即对特定内容进行搜索),例如,可以通过在?s rdfs:label "Madrid".
上添加其他过滤器来完成。