2017-08-15 68 views
0

我创建了此查询以返回George Orwell着名作品的所有书籍,但它不返回任何结果。George Orwell所有书籍的SPARQL查询

PREFIX dbo: <http://dbpedia.org/ontology/> 
PREFIX dbp: <http://dbpedia.org/resource/> 
PREFIX foaf: <http://xmlns.com/foaf/0.1/> 

SELECT ?name ?title where { 
    ?person foaf:name ?name . 
    ?title dbo:author ?person . 
    ?title dbo:notableWork dbp:George_Orwell . 
} 

我似乎无法弄清楚为什么没有结果。

我运行在http://dbpedia.org/snorql

+0

我想你了显着的工作由作者的要求:George_Orwell有点傻,但也许这是更复杂的起点? –

+0

@MarkMiller是的,这个查询是愚蠢的,但我试图找到一个例子来描述所有乔治奥威尔的书籍的东西(比如通过查找所有英国讽刺小说)。 – Michal

+1

听起来不错。玩的开心!我为你的侦探工作增加了一些想法。 –

回答

0

查询不是你有关于以错误的顺序著名作品的三元组做什么?

请尝试重写在此基础上工作的查询

SELECT * 
WHERE { 
:George_Orwell dbo:notableWork ?title 
} 

title 
:Nineteen_Eighty-Four 
:Animal_Farm 

您也可以绑定:George_Orwell一个变量,并询问更多有关:

SELECT * 
WHERE { 
values ?author { :George_Orwell } . 
?author rdfs:label ?l . 
?title ?p ?author . 
?title rdf:type dbo:Book . 
filter (lang(?l) = "en") 
} 

和描述事物

describe :Animal_Farm 
+0

'select * {?s dct:subject dbc:Books_by_George_Orwell}'永远不要忘记维基百科分类的“威力”:D – AKSW