Подсчет с помощью 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? Я чувствую, что упускаю что-то очевидное...


person Roman Susi    schedule 13.05.2015    source источник


Ответы (1)


Это помогает?

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 . }
}
person user205512    schedule 13.05.2015