如何在 SPARQL 中转置查询结果



我正在使用TopBraid Composer编写SPARQL查询。我查询了以下结果:

| Header    | Total     |
|--------   |-------    |
|           |           |
| A         | 5         |
|           |           |
| B         | 6         |
|           |           |
| C         | 7         |
|           |           |
| D         | 8         |

现在我的拙劣问题是我们是否可以以某种方式将结果转置如下:

| Header    | A     | B     | C     | D     |
|--------   |---    |---    |---    |---    |
| Total     | 5     | 6     | 7     | 8     |

是和否。 您使用的第一个表示法对于理解 SPARQL SELECT 至关重要 - 每一行表示数据上的单独图形模式匹配,其中第一列显示 ?标题和第二列显示 的绑定?总计,根据您的未陈述查询。 例如,在其中一场比赛中,?标头绑定到"A"和 ?总计绑定为"5"。 另一个匹配是 ?标头 ="B"和 ?总计 ="6",依此类推。 (我建议在SPARQL上做一些功课)

由此,任何计算SPARQL查询的语言都将具有一些迭代结果集的方法,并且您可以如图所示将它们放在倒排表中。

所以,不,SPARQL

不能做到这一点(看看SPARQL图模式匹配),但是无论你使用什么语言,都应该能够迭代结果集以获得你想要的东西。

您可以使用

筛选的左外部联接查询来构建自己的转置表(也称为数据透视表)。

PREFIX wd: <http://cocreate-cologne.wiki.opencura.com/entity/>
PREFIX wdt: <http://cocreate-cologne.wiki.opencura.com/prop/direct/>
PREFIX wikibase: <http://wikiba.se/ontology#>
PREFIX p: <http://cocreate-cologne.wiki.opencura.com/prop/>
PREFIX ps: <http://cocreate-cologne.wiki.opencura.com/prop/statement/>
PREFIX pq: <http://cocreate-cologne.wiki.opencura.com/prop/qualifier/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX bd: <http://www.bigdata.com/rdf#>
select ?item ?itemLabel ?enthalten_in1Label ?enthalten_in2Label ?enthalten_in3Label {
SELECT ?item ?itemLabel ?enthalten_in1Label ?enthalten_in2Label ?enthalten_in3Label  WHERE {
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],de". }
  
  ?item p:P3 ?statement.
  ?statement ps:P3 wd:Q15.
  ?statement pq:P13 wd:Q17.
  
  OPTIONAL { ?item wdt:P11 ?buendnis. FILTER (?buendnis in (wd:Q32)) }
  OPTIONAL { ?item wdt:P11 ?sdgKarte. FILTER (?sdgKarte in (wd:Q14)) }
  OPTIONAL { ?item wdt:P11 ?agora.    FILTER (?agora    in (wd:Q3))  }
  BIND(?buendnis as ?enthalten_in1).
  BIND(?sdgKarte as ?enthalten_in2).
  BIND(?agora as ?enthalten_in3).
  #debug
  #Filter (?item in (wd:Q1))
} 
LIMIT 2000
} ORDER BY ?itemLabel

相关内容

  • 没有找到相关文章

最新更新