[英]Query dbpedia with SPARQL for films
我想獲取dbpedia上所有當前電影的數據(電影標題,導演姓名,演員姓名和Wikipedia鏈接)。
我在http://dbpedia.org/snorql/上嘗試了此查詢。
SELECT ?film_title ?star_name ?nameDirector ?link WHERE {
{
SELECT DISTINCT ?movies ?film_title
WHERE {
?movies rdf:type <http://dbpedia.org/ontology/Film>;
rdfs:label ?film_title.
}
}.
?movies dbpedia-owl:starring ?star;
foaf:isPrimaryTopicOf ?link;
dbpedia-owl:director ?director.
?director foaf:name ?nameDirector.
?star foaf:name ?star_name.
FILTER LANGMATCHES( LANG(?film_title), 'en')
} LIMIT 100
響應似乎正確,但是響應時間很慢,所以我想知道是否可以改進查詢以獲得更快的響應。
您可以更改查詢中的幾件事,以使其更快。
首先,您的SELECT DISTINCT
子查詢的意義是什么? 這僅僅是為了消除重復的電影標題嗎? 如果可以忍受一些重復操作,則刪除此選項可能會使事情變得更快。
其次, FILTER
子句要求數據庫掃描所有可能的匹配項,並在每個可能的匹配項上評估表達式,以確定是保留還是丟棄它。 同樣,如果您可以忍受一些重復的數據並且不介意使用非英語標簽,則刪除FILTER
可能會使查詢運行得更快。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.