1

以下查询返回存储库中的语句数:

SELECT (COUNT(*) AS ?count) 
WHERE {
  ?s ?p ?o
}

有没有办法返回每个命名图的语句数?

以下查询不起作用,仅作为示例:

SELECT ?graphName ?count 
WHERE {
  GRAPH ?graphName { 
    ?s ?p ?o. 
    BIND(COUNT(?s ?p ?o.) AS ?count)
  }
}
  • 我意识到COUNT不能在 中WHERE,也不能带变量。
4

1 回答 1

3

只需在GROUP BY您的查询中添加一个子句——

SELECT ?graphName
       ( COUNT ( * ) AS ?count )
WHERE
  {
    GRAPH ?graphName
      {
        ?s ?p ?o
      }
  }
GROUP BY ?graphName

在 DBpedia 上查看查询及其实时结果

于 2019-12-06T22:42:52.993 回答