round()函数在CSPARQL中不起作用

时间:2016-07-15 15:59:07

标签: function stream sparql rdf

我正在尝试使用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>

之外,CSPARQL代码与上面几乎相同
SELECT ?roundlat  (COUNT(?x) AS ?counter)
FROM <MY STREAM>
WHERE ...

CSPARQL的运行结果显示?x的总计数结果,就好像它根本没有分组,?roundlat值为空。它无法像SPARQL那样执行fn:round()。有谁能告诉我如何在CSPARQL中使用round()函数?非常感谢你。

1 个答案:

答案 0 :(得分:0)

已经发现,与SPARQL相比,C-SPARQL支持非常有限的功能。它不支持数学函数,如ROUND()。