0
CSPARQLでストリーム処理を実行しようとしています。私はround()関数を使いたい。クエリはSPARQLで正常に実行されますが、CSPARQLでクエリを実行すると、round()関数が機能しませんでした。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)
CSPARQLコードとして、
SELECT ?roundlat (COUNT(?x) AS ?counter)
FROM <MY STREAM>
WHERE ...
FROM CSPARQLの実行結果は、xの合計カウント結果を示す以外は、ほぼ上記と同じですそれがまったくグループ化されていない場合、?roundlatの値は空白です。 SPARQLのようにfn:round()を実行できませんでした。 CSPARQLでround()関数を使用するにはどうすればいいですか?どうもありがとうございました。
SPARQL 1.1キーワードを使用してみてください:ROUND(...) – AndyS
ありがとうございました。 ROUND()はSPARQLでうまく動作しますが、SPARQLの高度なバージョンであるContinuous SPARQLであるC-SPARQLでストリーム処理の機能を使用したいと考えています。しかし、C-SPARQLでは動作しませんでした。 –