Я пытаюсь запросить данные из dbpedia по имени страны. Я хочу, чтобы найти его, есть ли ресурс для этой страны или через его существование в wikiPageRedirects. Вот рабочая версия:SPARQL для прямого ресурса dbpedia ИЛИ wikiPageRedirects
PREFIX res: <http://dbpedia.org/resource/>
PREFIX ont: <http://dbpedia.org/ontology/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?country ?capital ?label
WHERE {
{ res:Dominion_of_Canada ont:capital ?capital .
?capital rdfs:label ?label }
UNION
{ res:Dominion_of_Canada ont:wikiPageRedirects ?country .
?country ont:capital ?capital .
?capital rdfs:label ?label }
FILTER (lang(?label) = "en")
}
Я бы хотел (если возможно), разделить страну. Можно ли назначить ресурс переменной таким образом, чтобы запрос SPARQL выглядел следующим образом?
SELECT ?country ?capital ?label
WHERE {
{ ?country EXISTS res:Dominion_of_Canada } # to get the idea across
UNION
{ res:Dominion_of_Canada ont:wikiPageRedirects ?country }
?country ont:capital ?capital .
?capital rdfs:label ?label .
FILTER (lang(?label) = "en")
}
Как и прежде, скорость важна также. Если ресурс существует, тогда было бы лучше, если бы он пропустил поиск в wikiPageRedirects.
ли ответ на http://stackoverflow.com/questions/23871225/retriving-dbpedia-owltype-value-of-resource-with-dbpedia-owlwikipageredirect help? –
Спасибо, Джошуа. Эта часть запроса уже работает. Я добавил некоторые подробности к основному вопросу выше. – Bonjiro
Я не вижу там запроса ..., но обычно проще отправлять сообщения в виде обновлений вопросов. –