DBPedia SPARQL适用于一部电影但不适用于另一部电影

时间:2017-08-10 21:20:01

标签: sparql rdf semantic-web dbpedia virtuoso

我是SPARQL / DBPedia noob,我正在尝试将其用于宠物项目。

我有以下查询来查找特定电影的所有人及其角色(主演,导演,剪辑等) -

PREFIX dbO: <http://dbpedia.org/ontology/>
PREFIX dbR: <http://dbpedia.org/resource/>
SELECT ?p,?o
WHERE {
    dbR:Personal_Shopper ?p ?o.
    ?o rdf:type dbO:Person 
}

它返回预期的,所以全部清除。

但是如果我用电影敦刻尔克(Personal_Shopper)替换Dunkirk_(2017_film)

PREFIX dbO: <http://dbpedia.org/ontology/>
PREFIX dbR: <http://dbpedia.org/resource/>
SELECT ?p,?o
WHERE {
    dbR:Dunkirk_(2017_film) ?p ?o.
    ?o rdf:type dbO:Person 
}

我收到错误

Virtuoso 37000 Error SP030: SPARQL compiler, line 17: syntax error at '2017' before '_film' SPARQL query: define sql:big-data-const 0 #output-format:application/sparql-results+json define input:default-graph-uri PREFIX owl: PREFIX xsd: PREFIX rdfs: PREFIX rdf: PREFIX foaf: PREFIX dc: PREFIX : PREFIX dbpedia2: PREFIX dbpedia: PREFIX skos: PREFIX dbO: PREFIX dbR: SELECT ?p,?o WHERE { dbR:Dunkirk_(2017_film) ?p ?o. ?o rdf:type dbO:Person }

这是敦刻尔克的页面:

http://dbpedia.org/page/Dunkirk_(2017_film)

我认为资源的名称与Wiki页面URL中的名称相同。

https://en.wikipedia.org/wiki/Dunkirk_(2017_film)

有人可以指出我的错误吗?我在这里运行查询:

http://dbpedia.org/snorql/

0 个答案:

没有答案