У меня есть несколько запросов SPARQL, например:

SELECT ?mept ?uspt ?sapt ?rept ?sspt 
WHERE {{SELECT (COUNT(?mep) AS ?mept)
    WHERE {codo:MiddleEastCluster codo:hasMember ?mep.}}
    {SELECT (COUNT(?usp) AS ?uspt)
    WHERE {codo:USACluster codo:hasMember ?usp.}}
    {SELECT (COUNT(?sap) AS ?sapt)
    WHERE {codo:SouthAmericaCluster codo:hasMember ?sap.}}
    {SELECT (COUNT(?rep) AS ?rept)
    WHERE {codo:RestOfEuropeCluster codo:hasMember ?rep.}}
    {SELECT (COUNT(?ssp) AS ?sspt)
    WHERE {codo:SouthernStatesCluster codo:hasMember ?ssp.}}}

Фактический запрос намного больше, я сократил его для этого примера. Я беру эту информацию и помещаю ее в Excel для создания гистограмм и круговых диаграмм, иллюстрирующих наши данные. Поскольку этот (и другие запросы) в настоящее время работают, они отображают результаты в такой строке:

?mept  ?uspt  ?sapt  ?rept  ?sspt

 515    7       5     22      481

Я бы предпочел, чтобы он был отформатирован в виде такого столбца:

?mept 515
?uspt 7
?sapt 5
?rept 22
?sspt 481

Это упростило бы копирование и вставку данных непосредственно в Excel. Есть ли простой способ сделать это с помощью SPARQL? Я нашел в Интернете примеры, которые делают гораздо более сложные вещи, например, напрямую выводят данные из SPARQL в Excel. Мне не нужно ничего сложного, просто простой способ отформатировать вывод как столбец, а не строку.

0
Michael DeBellis 7 Окт 2020 в 20:33

1 ответ

Лучший ответ

Как было предложено в комментариях, пересмотренный запрос -

SELECT                        ?type
       ( COUNT ( ?member ) AS ?cnt) 
WHERE 
  { VALUES  ( ?cluster               ?type ) 
      {     ( codo:MiddleEastCluster "mep" )
            ( codo:USACluster        "usp" )
      }     
    ?cluster  codo:hasMember  ?member 
  } 
GROUP BY ?cluster ?type
1
TallTed 9 Окт 2020 в 00:31