2017-05-24 65 views
1

我在OpenData中非常新,並嘗試在SPARQL中編寫查詢。如何使用sparql查詢dbpedia.org

我的目標是讓數據以下的標準集: - 類別:Home_automation - 選擇類型的所有項目「事」 - 在至少一個進場「的產品」 - 有圖片與德國的描述

-url我試過如下:

PREFIX cat: <http://dbpedia.org/resource/Category:> 
PREFIX skos: <http://www.w3.org/2004/02/skos/core#> 

SELECT * 
WHERE { 
    cat:Home_automation skos:broader ?x 
} 

但現在我不知道如何將其他過濾器添加到WHERE子句。 我試圖讓用戶更爲寬泛:...獲取項目,但我認爲這是錯誤的方向。

我測試了疑問:https://dbpedia.org/sparql

結果應該是:

|   (label)   | (url) 
|--------------------------|----------------------------------- 
|"Kurzzeitwecker"@de  | urls to the picture of the device 
|"Staubsauger"@de   | -||- 
|"Waschmaschine"@de  | -||- 
|"Geschirrspülmaschine"@de | -||- 

任何人都不會有一些提示嗎?

更新:新的查詢:

PREFIX cat: <http://dbpedia.org/resource/Category:> 
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
PREFIX owl: <http://www.w3.org/2002/07/owl#> 
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 

SELECT ?s ?label WHERE { 
    ?s ?p cat:Home_automation . 
    ?s rdf:type owl:Thing . 
    ?s rdfs:label ?label 
    FILTER (LANG(?label)='de') 
} 
order by ?p 
+0

您更新了查詢。現在是解決方案嗎? – AKSW

+0

不是完整的解決方案,但它是其中的一部分。 – kroissma

回答

1

目前尚不清楚你想要什麼。您必須首先知道dbpedia包含的確切相關信息以及它們的結構。

但是,您可以嘗試發現cat:Home_automation涉及哪些類型的關係,因此,您可能會更好地瞭解您想要的內容。

我建議從通用查詢開始,指定cat:Home_automation在dbpedia中的出現方式,然後,您可能會變得更具體,並提出進一步的查詢。

查詢列出的三倍,其中cat:Home_automation是一個主題:

PREFIX cat: <http://dbpedia.org/resource/Category:> 
PREFIX skos: <http://www.w3.org/2004/02/skos/core#> 

SELECT ?p ?o WHERE { 
    cat:Home_automation ?p ?o 
} 
order by ?p 

查詢列出的三倍,其中cat:Home_automation是一個對象:

PREFIX cat: <http://dbpedia.org/resource/Category:> 
PREFIX skos: <http://www.w3.org/2004/02/skos/core#> 

SELECT ?s ?p WHERE { 
    ?s ?p cat:Home_automation 
} 
order by ?p 

檢查結果,看看你的有趣,然後繼續進一步查詢。

+0

是的,這是我的問題,這是對大學的練習,我們團隊中沒有人知道如何解決任務。我已經在上面添加了所需的結果。 您的第二個查詢看起來相當不錯,我如何過濾?以便我只能得到「Thing」類型的條目? 感謝您的幫助。 – kroissma

+0

好幾次嘗試後,得到了正確的結果。感謝您使用「cat:Home_automation」作爲對象的提示。 – kroissma