SPARQL DBpedia получает свойства человека, зная его имя - PullRequest
0 голосов
/ 13 апреля 2020

новичок в SPARQL. Попытка выяснить, почему я получаю разные результаты по этим двум запросам. Он основан на этом другом вопросе , где я пытаюсь сопоставить свойства с именем человека. Например, мне любопытно знать день рождения Джоан Роулинг, не зная ее URI напрямую. Вот код по ссылке выше:

PREFIX  rdfs:  <http://www.w3.org/2000/01/rdf-schema#>
PREFIX   dbo:  <http://dbpedia.org/ontology/>

SELECT DISTINCT *
 WHERE
   {  
     ?item       rdfs:label    ?itemLabel .
     FILTER ( ?itemLabel  =  "Car"@en ) .
     ?item       dbo:abstract  ?itemDescription .
     FILTER (lang(?itemDescription) = 'en')
   }
 ORDER BY ?itemLabel

по сравнению с запросом, который я хотел бы с JK:

PREFIX  rdfs:  <http://www.w3.org/2000/01/rdf-schema#>
PREFIX   dbo:  <http://dbpedia.org/ontology/>

SELECT DISTINCT *
 WHERE
   {  
     ?item       rdfs:label    ?itemLabel .
     FILTER ( ?itemLabel  =  "J.K. Rowling"@en ) .
     ?item       dbo:abstract  ?itemDescription .
     FILTER (lang(?itemDescription) = 'en')
   }
 ORDER BY ?itemLabel

Первый, однако, работает нормально, когда я заменяю "Автомобиль" "с" JK Rowling ", как во втором, ничего не возвращается (ее URI возвращается, если я удалю строку dbo: abstract и строку фильтра для нее). У Джоан Роулинг действительно есть dbo: abstract на английском языке sh. Я не уверен, почему это работает для одного и не другого. Единственное, что я могу видеть, что этот «Автомобиль» - это «Вещь», а Дж. К. - «человек»

...