SPARQL:如何从 dbpedia 检索所有犬种及其所有信息框数据?

SPARQL: How to retrieve all dog breeds and all their infobox data from dbpedia?

我想知道从 dbpedia 检索所有犬种及其所有信息框数据的最佳 sparql 方法是什么。 我试过这个:

SELECT * WHERE {
{
  <http://dbpedia.org/resource/Dog_type> ?p ?o
}
UNION
{
  ?s ?p <http://dbpedia.org/resource/Dog_type> .
  ?s ?p ?o .
  ?p ?p2 ?o2  
}
}

但结果与我的预期相去甚远:

http://dbpedia.org/resource/Basque_Shepherd_Dog dbpedia2:coat "moderately long"^^rdf:langString

首先,请注意 <http://dbpedia.org/resource/Dog_type> 不是狗 品种的 class。

出于多种原因,我建议您在 DBpedia Live, rather than DBpedia [Snapshot] 上完成这项工作。

从查看 your example breed, http://dbpedia.org/resource/Basque_Shepherd_Dog 的描述开始。

然后考虑是否a query like the following will get you what you want--

SELECT DISTINCT * 
WHERE
 { 
   ?breed a  <http://dbpedia.org/class/yago/DogBreeds> ;
          ?p ?o 
 }
ORDER BY ?breed ?p ?o
LIMIT 1000