2016-06-23 28 views
0

我是語義Web中的新手,我想使用SPARQL查詢從DBPedia檢索「Apple」的所有屬性值對。下面我在http://dbpedia.org/sparql編輯器中編寫了查詢,但它沒有返回任何結果。請告訴我我在哪裏犯了一個錯誤?針對DBPedia的SPARQL查詢獲取項目的所有屬性值

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
prefix dbo: <http://dbpedia.org/ontology/> 
prefix owl: <http://www.w3.org/2002/07/owl#> 
prefix prov: <http://www.w3.org/ns/prov#> 
prefix foaf: <http://xmlns.com/foaf/0.1/> 
prefix dbp: <http://dbpedia.org/property/> 
prefix dct: <http://purl.org/dc/terms/> 

select * where {<http://http://dbpedia.org/page/Apple> ?property ?value} 

回答

2

你寫了http://兩次。此外,查詢的正確URI是/resource/,而不是/page/

工作查詢:

select * where {<http://dbpedia.org/resource/Apple> ?property ?value} 

請記住,這會給你的水果,而不是公司的信息。

+0

非常感謝你@svick,我明白我的錯誤。還有一件事我想問:在執行該查詢時,它會忽略http://dbpedia.org/page/Apple的屬性部分中以「is」關鍵字開頭的一些結果,如「is dbo:product of」「is dbo :物種「等。你能告訴如何處理這個問題嗎?在此先感謝 – coder

+0

@coder這是相反的關係:'select * where {?value?property }'。 – svick

2

我給你的查詢會給你關於蘋果公司而不是蘋果水果的信息。

PREFIX dbprop: <http://dbpedia.org/property/> 
PREFIX db: <http://dbpedia.org/resource/> 
SELECT ?property, ?value WHERE {db:Apple_Inc ?property ?value}