Я не уверен, где вы получали свойства, которые вы использовали в своем запросе, поскольку они, похоже, не используются в соответствующих ресурсах. Дополнительная проблема состоит в том, что, хотя SPARQL позволяет как тройной шаблон, литералы не могут быть субъектами RDF троек, которые вам нужны для того, чтобы соответствовать
"Total Recall" dbpo:movieTitle ?movieName .
Этой тройку, если бы оно было законным, будет это утверждение, что строка «Total Recall» имеет название фильма и привязывает переменную ?movieName
к этому названию. Строка не является фильмом, поэтому, вероятно, у него тоже не будет названия фильма.
В данном конкретном случае, обратите внимание на информацию, которая DBpedia имеет на Total Recall, посетив
Вы увидите некоторые троек в форме
dbpprop:starring dbpedia:Ronny_Cox
dbpprop:starring dbpedia:Arnold_Schwarzenegger
, который предполагает, что вы хотите, запрос типа:
select ?actorName where {
?film rdfs:label "Total Recall"@en ;
dbpprop:starring ?actor .
?actor rdfs:label ?actorName .
filter(langMatches(lang(?actorName),"en"))
}
SPARQL results
Этот запрос подходит для подключения к public DBpedia SPARQL endpoint, но если вы работаете на местном уровне и хотите использовать service
ключевое слово федеративные запрос, вы могли бы сделать это с service <http://dbpedia.org/sparql>
:
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
prefix dbpprop: <http://dbpedia.org/property/>
select ?actorName where {
service <http://dbpedia.org/sparql> {
?film rdfs:label "Total Recall"@en ;
dbpprop:starring ?actor .
?actor rdfs:label ?actorName .
filter(langMatches(lang(?actorName),"en"))
}
}
в общем, один из лучших способов увидеть, какие классы и свойства используются в DBpedia является использовать тот факт, что DBpedia имеет соглашение об именах для ресурсов, как описано в DBpedia resource name standard, поэтому, учитывая статью Википедии XYZ
, вы можете получить http://dbpedia.org/resource/XYZ
и посмотреть данные. Для классов и свойств онтологии вы также можете увидеть documentation about the ontology и browse the ontology classes. Для интерактивных запросов полезно использовать public SPARQL endpoint.
Один из моих запросов заключается в том, как я мог получить доступные свойства. –
Я только что обновил свой ответ с некоторыми ссылками на документацию онтологии. Для поиска свойств я обнаружил, что самое полезное для этого - посетить некоторые интересующие вас ресурсы и посмотреть на свойства, которые были с ними использованы. –
поэтому для конечной точки обслуживания я должен использовать: «http://dbpedia.org/resource/Total_Recall» –