我正在使用AllegroGraph的SparQL地理空间扩展。 但是我的POINT功能有问题。
当我对半径中的点使用HAVERSINE函数时, 我不能给自定点。但是,如果我得到一个人的凝聚和 将它赋予HAVERSINE函数它有效:
prefix fr: <http://franz.com/ns/allegrograph/3.0/geospatial/>
prefix geo: <http://franz.com/ns/allegrograph/3.0/geospatial/fn/>
prefix person: <http://www.example.com/person/>
select ?fullName ?loc where{
GEO OBJECT
SUBTYPE "http://franz.com/ns/allegrograph/3.0/geospatial/spherical/km/-180.0/180.0/-90.0/90.0/50.0"
HAVERSINE (?personLoc,5 KM) {
?person <http://www.example.com/geolocation> ?loc;
person:FullName ?fullName
}
where{
person:ff5736e38246295c <http://www.example.com/geolocation> ?personLoc .
}
}
以下不起作用:
prefix fr: <http://franz.com/ns/allegrograph/3.0/geospatial/>
prefix geo: <http://franz.com/ns/allegrograph/3.0/geospatial/fn/>
prefix person: <http://www.example.com/person/>
select ?fullName ?loc where{
GEO OBJECT
SUBTYPE "http://franz.com/ns/allegrograph/3.0/geospatial/spherical/km/-180.0/180.0/-90.0/90.0/50.0"
HAVERSINE (POINT(49.13, 29.32),5 KM) {
?person <http://www.example.com/geolocation> ?loc;
person:FullName ?fullName
}
where{
}
}
它出现以下错误:
执行查询失败: 3-ary功能列表未定义
我做错了什么或问题出在AllegroGraph上?