這是我的實際問題: ?var0是組變量,?var1不是。但每當我嘗試驗證語法,總會有以下錯誤信息:我該如何適應sparql計算?
Non-group key variable in SELECT: ?var1 in expression (sum(?var0)/?var1)
完整的查詢:
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX cz: <http://www.vs.cs.hs-rm.de/ontostor/SVC#Cluster>
PREFIX n: <http://www.vs.cs.hs-rm.de/ontostor/SVC#Node>
SELECT ((SUM(?var0)/?var1) AS ?result)
WHERE{
?chain0 rdf:type rdfs:Property .
?chain0 rdfs:domain <http://www.vs.cs.hs-rm.de/ontostor/SVC#Cluster> .
?chain0 rdfs:range <http://www.vs.cs.hs-rm.de/ontostor/SVC#Node> .
?this ?chain0 ?arg0 .
?arg0 n:node_realtime_cpu ?var0 .
?this cz:node_count ?var1 .
}
我的問題是如何糾正一些計算,以適應SPARQL語法?
請顯示查詢的其餘部分。如果'?var1'不是一個組變量,那麼當您按照您要分組的任何變量進行分組時,該組具有'?var1'(組中每個結果一個)的值的集合。如果你知道它們都是一樣的,那麼你可以'sample(?var1)',或者除了你正在分組的其他任何東西之外,你可以用'var1'進行分組。 ?var1 ...')。否則,組中的'?var1'可能會有許多不同的值,並且您尚未指定如何將它們聚合爲一個用於計算的值。 –
如果你可以顯示你的查詢的其餘部分,它可能會更清楚你想要做什麼,你會得到更有幫助的迴應。就像現在一樣,沒有足夠的信息來真實地告訴你想要做什麼。 –