0

总而言之,我正在尝试从 dbpedia 获取导演的电影作品:

下面的两个查询(以及其他未显示的尝试)都返回空集。下面的查询不起作用:

PREFIX d: <http://dbpedia.org/ontology/>
SELECT ?filmName  WHERE {  
    ?film d:director :woody_allen .
    ?film rdfs:label ?filmName .  
}

或者(这是来自):

PREFIX m: <http://data.linkedmdb.org/resource/movie/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT ?filmTitle WHERE {
  ?film rdfs:label ?filmTitle.
  ?film m:director ?dir.
  ?dir  m:director_name "Sofia Coppola".
}

不知道这样简单的查询会有什么问题。这里有什么想法吗?

4

1 回答 1

3

您的第一个查询的问题是使用:woody_allen(除了您实际上没有定义默认前缀,因此查询在技术上应该是非法的 SPARQL 的事实)该术语实际上并没有出现在数据中。

尝试像这样重写您的查询:

PREFIX d: <http://dbpedia.org/ontology/>
SELECT ?filmName  WHERE {  
    ?film d:director <http://dbpedia.org/resource/Woody_Allen> .
    ?film rdfs:label ?filmName .  
}

以上确实给出了结果。

至于您的第二个查询 DBPedia 不使用 Linked MDB 本体,因此查询无法匹配任何内容

于 2013-04-30T16:08:19.293 回答