Rdf 获得自治区
我正在使用,裁判说: xsd:float strdf:area(strdf:geometry A):如果曲面是多边形或多多边形,则返回曲面的面积 所以我试着:Rdf 获得自治区,rdf,sparql,geospatial,geo,spatial-query,Rdf,Sparql,Geospatial,Geo,Spatial Query,我正在使用,裁判说: xsd:float strdf:area(strdf:geometry A):如果曲面是多边形或多多边形,则返回曲面的面积 所以我试着: PREFIX geo: <http://geo.linkedopendata.gr/gag/ontology/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX strdf: <http://strdf.di.uoa.gr/on
PREFIX geo: <http://geo.linkedopendata.gr/gag/ontology/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX strdf: <http://strdf.di.uoa.gr/ontology#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
...
?municipality geo:has_geometry ?geometry . // so far so good (checked)
FILTER(strdf:area(?geometry) = ?area) .
前缀geo:
前缀rdf:
前缀strdf:
前缀xsd:
...
市政地理:具有几何图形?几何图形。//到目前为止一切正常(已检查)
过滤器(strdf:area(?geometry)=?area)。
结果我一无所获。我的总体目标是得到所有城市的总面积,但我甚至不能得到一个!有什么想法吗
请注意,这是我第一次使用空间度量函数,因此我尝试收集并显示strdf:area()
的结果,但我失败了
几何的第一个结果是:
“多多边形((476162.8125 3949684476195.68749993949675476216.000000001 3949675476226.1875 3…更多
编辑: 如果我尝试这样做:
?area=strdf:area(?geometry)。
,我将得到一个错误:
在第15行第9列遇到“=”。应为“(“…!”^“…”a”…”之一
我认为,对于具有返回值的函数,您应该在select子句中使用它。 例如:
PREFIX geo: ...
PREFIX rdf: ...
PREFIX strdf: ...
PREFIX xsd: ...
...
SELECT (strdf:area(?geometry) AS ?myarea)
WHERE {
?municipality geo:has_geometry ?geometry .
}
假设这会为您提供所有需要添加的区域,只需使用SUM(?myarea)函数。这会添加“area”函数找到的所有答案。在前面的情况下,select子句类似于:
SELECT (SUM(strdf:area(?geometry)) AS ?myarea)
过滤器不设置变量 从您关于希望收集strdf:area()结果的评论中, 或者 或
过滤器(…=?区域)
仅当查询的另一部分绑定了?区域时才有意义。您正在这样做吗?(您尚未向我们显示您的完整查询。)没有看到你的数据,我们就不知道应该返回什么。@JoshuaTaylor我没有这样做。我没有显示查询的其余部分,因为它所做的只是找到正确的市镇,因此它是不相关的。我试图找到市镇的区域,但我不知道如何做!是的,我的代码不奇怪没有多大意义…我正在尝试收集strdf:area()的结果,但似乎没有成功:/
BIND(strdf:area(?geometry) AS ?area)
SELECT ... (strdf:area(?geometry) AS ?area) ...