如何从 DBPedia 获取所有组织?

Jos*_*sef 4 sparql dbpedia

如何从 DBpedia 获取所有组织的列表?“组织”是指任何类型的实体,可以是组织组织的任何子类。

我发现了如何从 DBPedia 获取所有公司的问题但这在当前的 DBpedia SPARQL 网络版本中不起作用,我无法调整查询。

evs*_*ino 5

简单地获取作为实例dbo:Organization或其子类的所有资源:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dbo: <http://dbpedia.org/ontology/>
SELECT DISTINCT ?org { ?org a/rdfs:subClassOf* dbo:Organisation . }
Run Code Online (Sandbox Code Playgroud)

但是,正如您链接的问题所示,DBpedia 对返回的结果数量有上限。因此,正如对上述问题的回答一样,您可以使用子查询LIMITOFFSET以分块获取所有结果:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dbo: <http://dbpedia.org/ontology/>
SELECT ?org {
  SELECT DISTINCT ?org {
    ?org a/rdfs:subClassOf* dbo:Organisation .
 } ORDER BY ?org
}
LIMIT 10000 OFFSET 0
Run Code Online (Sandbox Code Playgroud)

这将为您提供前 10000 个结果。为了获得下一个10000,只需添加10000至偏移:LIMIT 10000 OFFSET 10000。然后,接下来的 10000 与OFFSET 20000,依此类推。

  • @AKSW 是的,但有问题的属性路径是 `a|a/rdfs:subClassOf+` 与 `a/rdfs:subClassOf*`,如果我没记错的话,它们是相等的。 (2认同)