2016-05-10 43 views
0

我是DBpedia的新手,我想提取特定國家(法國)和特定語言(前fr)中的所有組織。我正在使用呼吸管並進行此查詢:DBpedia:如何提取特定國家和特定語言的所有組織

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
PREFIX dbo: <http://dbpedia.org/ontology/> 
SELECT ?org { 
    SELECT DISTINCT ?org { 
    ?org a/rdfs:subClassOf* dbo:Organisation . 
} ORDER BY ?org 
} 

接下來應該做什麼?我查了幾個教程,但仍然不知道。

回答

0

第0步是刪除子選擇。子選擇的唯一時間是真正需要的是什麼時候聚合被計算並用於找到其他三元組。

第1步然後是開始探索DBPedia如何代表國家和語言。請嘗試以下查詢:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
PREFIX dbo: <http://dbpedia.org/ontology/> 
SELECT * 
WHERE { 
    ?org a/rdfs:subClassOf* dbo:Organisation . 
    ?org ?p ?o 
} ORDER BY ?org 

從那裏,你會發現dbo:location用於表示一個組織的位置。然後用dbo:location代替?p,並在國內進行同樣的探索以獲得該語言。

在這些探索中,您可能會發現使用不同的屬性來表示國家等.DBPedia並不總是一致的,因此使用SPARQL進行探索是瞭解如何查詢數據的非常有用的方法。

+0

我按照你的步驟用下面的代替第六行:但是我得到了一個錯誤。 '?org duo:location:France' 我知道這可能是一個基本的語法錯誤。我已經檢查了[本教程](http://www.cambridgesemantics.com/semantic-university/sparql-by-example,但仍然不知道如何正確編寫sparql,或者你有什麼建議嗎? –

+0

我認爲你需要'org duo:location:France'。注意'duo:location'後面的空格。 '。SPARQL by Example非常好。 – scotthenninger

相關問題