我正在尝试使用CSPARQL进行流处理。我想使用round()
函数。查询在SPARQL中运行良好,但是当我在CSPARQL中运行它时,round()
函数不起作用。
SPARQL代码:
SELECT ?roundlat (COUNT(?x) AS ?counter)
WHERE {
?x pos:location ?point.
?point pos:lat ?lat;
pos:long ?long.
BIND (fn:round(?lat * 1000) AS ?roundlat)
BIND (fn:round(?long * 1000) AS ?roundlong)
}
GROUP BY ?roundlat ?roundlong
HAVING (?counter > 10)
除了FROM <my stream>
SELECT ?roundlat (COUNT(?x) AS ?counter)
FROM <MY STREAM>
WHERE ...
CSPARQL的运行结果显示?x
的总计数结果,就好像它根本没有分组,?roundlat
值为空。它无法像SPARQL那样执行fn:round()
。有谁能告诉我如何在CSPARQL中使用round()
函数?非常感谢你。
答案 0 :(得分:0)
已经发现,与SPARQL相比,C-SPARQL支持非常有限的功能。它不支持数学函数,如ROUND()。