如何解决Geosparql函数
我正在尝试将两个具有WKT坐标的区域合并为geoshape属性。查询如下:
PREFIX geof: <http://www.opengis.net/def/function/geosparql/>
PREFIX geop: <http://www.opengis.net/def/property/OGC-GeoSPARQL/1.0/>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX ext: <http://rdf.useekm.com/ext#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-Syntax-ns#>
PREFIX ubmo: <http://w3id.org/UrbanAndBuildingMultiscaleOntology#>
select ?quar ?quar1 ?envelope
where {
?quar rdf:type ubmo:Quartier.
?quar1 rdf:type ubmo:Quartier.
Filter(regex(str(?quar),"QuartierF4481__1")).
Filter(regex(str(?quar1),"QuartierF4481__10")).
?quar ubmo:geoshape ?aWKT.
?quar1 ubmo:geoshape ?bWKT.
BIND (geof:union(?aWKT,?bWKT) AS ?envelope)
}
我在GraphDB中遇到以下错误: 错误500:错误 查询评估错误:验证的对象为空(HTTP状态500)。
任何建议 预先谢谢你。
解决方法
-
您正确使用了
中的示例所示geof:union
,如 PS2EXE-GUI -
你能告诉我们这两个几何图形吗?使用
concat
作为一种简单的方法:
BIND (concat(?aWKT,?bWKT) AS ?envelope)
- 顺便说一句,过滤网址不是最好的方法,您可以使用
bind
或values
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。