1

我想在某些区域从 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")
  }

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

4

1 回答 1

0

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

但是,我认为您可以从Virtuoso的 GEOSPARQL 文档中的示例中弄清楚,Virtuoso是托管 DBpedia 的 DBMS 引擎。这里还有更多

于 2015-09-05T01:06:45.190 回答