2015-11-17 115 views
0

試圖執行一些查詢,但在搜索foaf時:name resultset爲空。這裏是我的代碼:SPARQL DbPedia foaf:名稱

SELECT DISTINCT ?uri ?string 
WHERE { 
    ?uri rdf:type ?x.  
     ?uri foaf:name 'Cavallo domestico'@it . 
     OPTIONAL { ?uri rdfs:label ?string . FILTER (lang(?string) = 'it') } 
} 

頁存在http://it.dbpedia.org/resource/Equus_caballus/html

顯然,似乎這不是比英語但FOAF不同的語言相關:名稱請求。如果我執行以下,檢索通用FOAF:給定名稱,它的工作原理:

SELECT DISTINCT ?uri ?string 
WHERE { 
    ?uri rdf:type ?x.  
     ?uri foaf:givenName 'Jimmy'@en . 
     OPTIONAL { ?uri rdfs:label ?string . FILTER (lang(?string) = 'en') } 
} 
+0

你運行這個針對HTTP:/ /it.dbpedia.org/sparql?這個對我有用。 – Joe

+0

[dbpedia獲取英語以外的語言的實體]的可能重複(http://stackoverflow.com/questions/29069479/dbpedia-fetch-entitites-in-language-other-than-english) – Joe

+1

哪一個?第一,第二還是兩者?如果在http://dbpedia.org/snorql/中運行,則第一個查詢不會返回任何結果。 如果運行在it.dbpedia.org/sparql,如你所說,它的工作..... – RobMor

回答

1

我想,當我第一次提到它沒有in a comment這不是工作,而是,as AKSW points out,這似乎是現在的工作。該RDFS:標籤屬性在各種語言的文章標題,而不是FOAF:名稱,這樣你就可以做到這一點,以獲得類型馬:

select ?x ?type { 
    ?x a ?type ; 
    rdfs:label "Equus caballus"@it 
} 

SPARQL results

+0

是的,它的工作原理 問題出在您查詢的端點上: In:dbpedia.org/snorql它不是 In:it.dbpedia.org/sparql它的確如此! – RobMor