在列而不是行中显示SPARQL输出

问题描述

我有几个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。我不需要任何复杂的东西,只需一种简单的方法即可将输出格式化为列而不是行。

解决方法

根据评论中的建议,修改查询-

SELECT                        ?type
       ( COUNT ( ?member ) AS ?cnt) 
WHERE 
  { VALUES  ( ?cluster               ?type ) 
      {     ( codo:MiddleEastCluster "mep" )
            ( codo:USACluster        "usp" )
      }     
    ?cluster  codo:hasMember  ?member 
  } 
GROUP BY ?cluster ?type

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...