在SPARQL中从两个纬度/长度双精度创建几何对象

时间:2015-07-06 11:17:26

标签: sparql dbpedia georss

我想在某些区域从DBPedia获得一些位置,如果这些点具有几何属性,那将很容易。但是,它们只有georss:point。我已将其转换为两个双打,但我无法将它们转换为可提供给位置过滤器的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")
  }

如果您知道任何方式转换那些或其他过滤方法,请赐教。 :)

1 个答案:

答案 0 :(得分:0)

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

但是,我认为您可以从the GEOSPARQL documentation中的Virtuoso中的示例中找到它,这是托管DBpedia的DBMS引擎。有more here