2013-05-13 40 views
1

我試圖找回DBpedia中,貓頭鷹的價值:在此頁面如影響:Andy_WarholSPARQL空的結果:影響物業

我寫的查詢是:

PREFIX rsc : http://dbpedia.org/resource 
PREFIX dbpedia-owl :http://dbpedia.org/ontology 

SELECT ?o WHERE { 
    rsc:Andy_Warhol dbpedia-owl:infuenced ?o . 
} 

但它是空的。

奇怪的是,當我從本體類型,如「出生地」的另一個屬性相同的查詢時,SPARQL引擎給出結果回:

SELECT ?o WHERE { 
    rsc:Andy_Warhol dbpedia-owl:birthplace ?o . 
} 

這是其他資源的鏈接: dbpedia.org/resource/Pittsburgh

我只是困惑如何編寫此查詢?

+0

在哪裏,你是如何運行這些查詢?當我在[DBpedia SPARQL端點](http://dbpedia.org/sparql)上運行它們時,我沒有得到任何查詢的結果。 – 2013-05-13 14:39:44

+0

它看起來像你的前綴是不好的。你不想查詢'http:// dbpedia.org/resourceAndy_Warhol';你想要查詢'http:// dbpedia.org/resource/Andy_Warhol'。 – 2013-05-13 14:43:16

回答

1

這裏有幾個問題。一個是SPARQL如前所述不正確。我編輯的前綴語法是合法的,但前綴仍然是錯誤的(它們沒有以最終斜槓結尾)。畢竟你不想查詢http://dbpedia.org/resourceAndy_Warhol;你想查詢http://dbpedia.org/resource/Andy_Warhol。 DBpedia的某些standard namespacesSPARQL endpoint上列出。使用這些名稱和SPARQL端點,我們可以要求所有http://dbpedia.org/resource/Andy_Warhol與此查詢主題的三元組:

SELECT * WHERE { 
    dbpedia:Andy_Warhol ?p ?o . 
} 

在那裏生產的結果,你會看到使用http://dbpedia.org/ontology/birthPlace(注一在birthPlace的資本P),但你不會看到任何三元組與謂詞http://dbpedia.org/ontology/infuenced,所以它是有道理的,你的第一個查詢沒有結果。你有沒有理由認爲應該有一些結果?

2

除了在@Joshua的答案解決幾個正規的錯誤,也有語義的問題,您正在尋找的屬性 - 在這種情況下 - 似乎對是影響實體被發現。

此查詢可能會給你想要的結果

PREFIX rsc: <http://dbpedia.org/resource/> 
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/> 

SELECT ?s WHERE { 
    ?s dbpedia-owl:influencedBy rsc:Andy_Warhol . 
} 

run query