【发布时间】:2016-06-08 18:37:31
【问题描述】:
我在 DBpedia 端点上运行 SPARQL 构造查询。该查询用于获取描述所有电影的所有信息:
construct
{
?s ?p ?o
}
where
{
?s a <http://dbpedia.org/ontology/Film>.
{
SELECT ?s ?p ?o
{
?s ?p ?o
}
group by ?s ?p
}
}
查询工作正常。问题是 DBpedia 将其停在 10.000。我试图使偏移量为 0,但它确实有任何区别。另外,我不认为 chrome 会支持显示一百万三倍。因此,我在想是否有解决方案或提示,以便我可以分段检索数据,这意味着我从之前停止的地方开始。
【问题讨论】:
-
子查询的思想是什么?只是为了了解您想要实现的目标,并可能帮助您了解为什么它没有意义。
-
@AKSW 我使用子查询的唯一原因是能够使用 group by。我想使用 group by 的原因,特别是在那里,是因为我想获得所有主语及其所有谓词和所有谓词的所有宾语。无论如何,从 DBpedia 检索有关电影的所有数据并不是一个好主意,因为它们会将偏移量停止在 40000。我发现了一种非常高效、快速且轻便的数据格式,称为 RDF HDT。整个 DBpedia RDF 转储都在这种格式的可用数据集中。
-
在您的问题中,您没有谈到分组。在您的子查询中,您按
?s和?p进行分组,但您选择?o作为一个无效 SPARQL 的简单变量。 -
@AKSW 很好,我得到了我需要的结果。这才是真正重要的。问题不在于查询的准确性,而在于从 DBpedia 获取所有结果。并且因为后者在 10.000 处停止查询,所以我想从停止的地方继续。答案很简单:我不知道offset的作用。即使在我知道“偏移量”的作用之后,它也没有帮助我,因为 DBpedia 在 40.000 处停止了偏移量。因此,我决定下载整个 DBpedia RDF 转储。
-
DBpedia 没有停止,但 Virtuoso 有一些奇怪的限制,可以通过使用子选择来解决。但同样,分组没有意义。正如我所说,它是无效的 SPARQL。这不适用于另一家三合店。
标签: sparql rdf semantic-web dbpedia linked-data