从SPARQL中的两个lat/long双精度对象创建几何体对象

从SPARQL中的两个lat/long双精度对象创建几何体对象,sparql,dbpedia,georss,Sparql,Dbpedia,Georss,我想从DBPedia中得到一些特定区域的位置,如果这些点具有几何特性,那就很容易了。然而,他们所拥有的只是乔治:重点。我已将其转换为两个double,但无法将其转换为可以提供给位置过滤器的geo:geometry对象 迄今为止,我所掌握的守则: PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SELECT ?name ?abstract ?ns ?ew WHERE { ?m

我想从DBPedia中得到一些特定区域的位置,如果这些点具有几何特性,那就很容易了。然而,他们所拥有的只是乔治:重点。我已将其转换为两个double,但无法将其转换为可以提供给位置过滤器的geo:geometry对象

迄今为止,我所掌握的守则:

PREFIX  xsd:  <http://www.w3.org/2001/XMLSchema#>
SELECT  ?name
        ?abstract 
        ?ns 
        ?ew
WHERE
  {  ?m                               foaf:name  ?name
  .  ?m                            georss:point  ?coord
  .  ?m  <http://dbpedia.org/ontology/abstract>  ?abstract
  .  BIND( xsd:double(strbefore( ?coord, " " ))  AS  ?ns )
     BIND(  xsd:double(strafter( ?coord, " " ))  AS  ?ew )
     BIND(                  geo:Point(?ew, ?ns)  AS  ?geo ) # <-- I have problem with this
     FILTER (bif:st_intersects (?geo, bif:st_point(?geo), 10))
     FILTER (LANG(?abstract) = "en")
  }

如果您知道如何转换这些或其他过滤方法,请告诉我:

这里没有足够的信息给你一个简单明了的答案


但是,我认为您可以从for中的示例中找到答案,for是承载DBpedia的DBMS引擎。这里没有足够的信息给你一个简单明了的答案


但是,我认为您可以从for中的示例中找到答案,for是承载DBpedia的DBMS引擎。有。

嗯,我没有找到更严格的解决方案,但使用了其他过滤方法。当我使用谷歌地图时,我使用getBounds函数代替radius函数,然后替换这些值来过滤?ns>**南**&&&?ns<**北**&&&?ew>**西**&&?ew<**东**嗯,我没有找到更严格的解决方案,但使用了其他过滤方法。当我使用谷歌地图时,我使用getBounds函数代替radius函数,然后替换这些值以过滤?ns>**南**&&&?ns<**北**&&?ew>**西**&&?ew<**东****