2

我想获取 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
}

这只是给了我第一个演员的名字。如何获得每部电影的完整演员名单?

4

1 回答 1

2

DPedia 可能不会在其记录中保存所有电影的所有演员。在某些情况下,只有一个演员与电影相关联,在某些情况下是多个。尽管您可能会得到重复,但您的查询接缝是正确的,因为一个参与者可能有几个与之关联的 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 .
}
于 2011-12-05T21:30:50.927 回答