SPARQL: Как извлечь из dbpedia все породы собак и все их информационные данные? - PullRequest
0 голосов
/ 01 ноября 2019

Я хотел бы знать, как лучше всего sparql получить все породы собак и все их информационные данные из dbpedia. Я пробовал это:

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

1 Ответ

1 голос
/ 01 ноября 2019

Во-первых, обратите внимание, что <http://dbpedia.org/resource/Dog_type> не относится к классу собак пород.

По нескольким причинам я предлагаю вам выполнить эту работу на DBpedia Live ,вместо DBpedia [снимок] .

Начните с описания вашего примера породы, http://dbpedia.org/resource/Basque_Shepherd_Dog.

Затем рассмотрите даст ли *1017* запрос, подобный следующему, , что вы хотите -

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