我想获取dbpedia上存在的所有电影的数据以及与每部电影相关联的演员列表。 我跑了一个查询:
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT DISTINCT ?film_title ?star_name
where {?film_title rdf:type <http://dbpedia.org/ontology/Film> .
?film_title foaf:name ?film_name .
?film_title rdfs:comment ?film_abstract .
?film_title dbpedia-owl:starring ?star .
?star dbpprop:name ?star_name
}
这只给了我第一个演员的名字。如何获得每部电影的完整演员列表?
答案 0 :(得分:2)
DPedia可能不会为所有电影中的所有演员保留其记录。在某些情况下,只有一个演员与电影相关联,在某些情况下只有几个。您的查询接缝是正确的,尽管您可能会获得重复项,因为actor可能有多个与之关联的dbpprop:name属性。或者,您可以使用子查询使用以下查询:
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?film_title ?star WHERE { {SELECT DISTINCT ?film_title
where {?film_title rdf:type <http://dbpedia.org/ontology/Film> } limit 10} .
?film_title dbpedia-owl:starring ?star .
}