问题
I want to query DBpedia with DBpedia Live endpoint.
I have this query :
SELECT *
WHERE {
?x a dbo:Person .
?x rdfs:label "Usain Bolt"@en .
}
This query gives the correct answer with most names I tried (for example “Teddy Riner"@en
) but it fails with Usain Bolt and Rachid Badouri.
I don’t get why as their DBpedia pages (Teddy Riner, Usain Bolt) are constructed the same way: they both have a rdfs:label
, which is written exactly like I did.
It seems to me that there is an incoherence between the endpoint and DBpedia. But I don’t think that it's because the endpoint is not to date.
Even more surprising, this query gives the correct answer:
SELECT *
WHERE {
?x rdfs:label "Usain Bolt"@en .
}
However, Usain Bolt is a dbo:Person
! Same thing for Rachid Badouri.
Could someone explain me why the first query does not give answer?
Any help would be appreciated! Thanks
回答1:
According to DBpedia-Live, at the time of writing, the entity with rdfs:label "Usain Bolt"@en has many types, but is not a dbo:Person
. Similar for the entity with rdfs:label "Rachid Badouri"@en.
In contrast, the entity with rdfs:label "Teddy Riner"@en is a dbo:Person
.
Note: DBpedia-Live content is a moving target, varying with Wikipedia content changes, adjustments in the templates, and other variables. The statements I made above may no longer be true when you read this.
来源:https://stackoverflow.com/questions/48345125/querying-dbpedia-live-with-sparql-does-not-give-same-answer-as-dbpedia