Sparql-如何获得三元组的数量?

Azi*_*taz 2 semantic-web sparql jena dbpedia

我正在 sparql 上做一个小练习。使用Dbpedia Endpoint,我需要计算三元组的数量。

这是我的查询

      // Get the number of triples //


    SELECT (COUNT(*) as ?Triples) WHERE { ?s ?p ?o}
-------------------------------------------------------
    OUTPUT:

    ( ?Triples = 1625382483 )
Run Code Online (Sandbox Code Playgroud)

只是想知道查询和结果是否正确?这就是你得到三元组数量的方式吗?

Tal*_*Ted 9

通过直接在 SPARQL 端点上执行查询,而不是通过 Jena 或其他中间客户端,您可以对许多事情进行完整性检查。举例来说,你的DBpedia的形式查询,和它的结果,它显示了在triplestore(所有三元目前1625382483)。

如果您只想在 DBpedia 命名图(当前为 438,336,517)中计算三元组的计数,则需要在 SPARQL 表单默认数据集名称 (Graph IRI)中或直接在查询中指定,如 -

SELECT (COUNT(*) as ?Triples) 
WHERE 
  { GRAPH <http://dbpedia.org> 
      { ?s ?p ?o } 
  }
Run Code Online (Sandbox Code Playgroud)

- 或者 -

SELECT (COUNT(*) as ?Triples) 
FROM <http://dbpedia.org> 
WHERE { ?s ?p ?o } 
Run Code Online (Sandbox Code Playgroud)