簡體   English   中英

使用SPARQL查詢dbpedia的電影

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM