使用SPARQL查找经度和纬度

问题描述

我有一个遍布许多地方的OWL本体:城市,国家,州,地区以及诸如企业或教堂之类的特定场所。我想使用SPARQL来查询一些外部数据源(我假设是SPARQL端点),找到匹配的位置并将long和lat数据复制到我的本体中。我的本体论涉及Covid大流行,被称为Codo。所以我尝试过类似的事情:

    PREFIX owl: <http://www.w3.org/2002/07/owl#>
    PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-Syntax-ns#> 
    PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
    PREFIX codo: <http://www.isibang.ac.in/ns/codo#>
    PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> 
    PREFIX dbo: <http://live.dbpedia.org/> 
    INSERT  {?c codo:long ?long.
             ?c  codo:lat ?lat.} 
     WHERE {?c a codo:City. 
            ?c rdfs:label ?l. 
            ?dbpc a dbo:City. 
            ?dbpc rdfs:label ?l.    
            ?dbpc geo:long ?long.
            ?dbpc geo:lat ?lat.}

我从网上发现的示例中得到了那些特定的名称空间。对于数据的获取位置,我没有任何偏好,地名,DBpedia无关紧要。我认为部分问题是我不清楚何时/如何使用SERVICE和/或FROM关键字。

解决方法

我发现了问题所在。使用我正在使用的查询引擎(Franz Inc.的Allegrograph中的Gruff),我什至不需要使用SERVICE关键字,我所要做的就是使用Gruff中的File选项之一连接到端点。我已经这样做了,但是我在DBpedia中使用了错误的IRI。现在可以进行以下操作:

pair_ids

现在这是可行的,应该直接链接到本体中的位置并复制所需的数据。感谢UninformedUser和我的同事Biswanath_Dutta帮助我解决了这个问题。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...