2015-05-13 23 views
2

試圖讓三個(或更多計數結果在同一個SPARQL查詢:使用SPARQL進行計數:如何在一行中獲得結果?

SELECT 
    ?cs 
    ?bs 
    ?ws 
WHERE { 
    { SELECT (COUNT(?c) AS ?cs) WHERE { ?c a :OneThing . }} 
    UNION 
    { SELECT (COUNT(?b) AS ?bs) WHERE { ?b a :AnotherThing . } } 
    UNION 
    { SELECT (COUNT(?w) AS ?ws) WHERE { ?w a :ThirdThing . } } 
} 

但是,它會更好,如果有隻有一行的結果,而不是三個(和計數的對角線)。嘗試不同的表情都無濟於事。

可以這樣用SPARQL高效地完成?我覺得我失去了一些東西明顯...

回答

4

這是否做的伎倆?

SELECT (COUNT(?c) AS ?cs) (COUNT(?b) AS ?bs) (COUNT(?w) AS ?ws) 
WHERE { 
    { ?c a :OneThing . } 
    UNION 
    { ?b a :AnotherThing . } 
    UNION 
    { ?w a :ThirdThing . } 
} 
+0

是的,它適用於我的情況。謝謝! –

相關問題