2014-09-26 45 views
2

我想使用its sparql端點從dbpedia下載一些實體配置文件。我的查詢是:如何獲取sparql查詢結果的所有取消引用鏈接

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
PREFIX dbpedia: <http://dbpedia.org/ontology/> 
select ?x where {?x rdf:type dbpedia:Drug} LIMIT 100 

以上查詢的結果是一些實體配置文件的鏈接。對於dereferencing我必須點擊每個鏈接。我想解除引用所有實體配置文件並將其另存爲本地計算機中的數據集。我想稍後在我的項目中使用這個數據集。那麼我該如何下載這個實體配置文件?有沒有sparql命令? ?

+1

爲什麼您需要爲每個URL準確下載頁面?它沒有任何意義。另外,你想要做些什麼(經常發生)該URL實際上只是一個唯一的ID,並且它不能使用HTTP解析? – 2014-09-26 04:54:59

+0

尊敬的@Arsham根據鏈接數據原則,每個網址都必須具備解引用功能。我需要下載Link Descovery任務的所有數據集。我希望我的任務不受網絡延遲和其他一些網絡相關問題的困擾。 – 2014-09-26 04:59:06

+1

在互聯網初期,資源被URL(統一資源定位符)專用引用,並且期望URL可以用於通過某種傳輸協議來定位和檢索電子文檔。然而,隨着時間的推移,標識符也可能引用不可檢索的資源,這一點已經被接受。更廣泛的術語URI被用來表示任何類型資源的標識符,包括**非信息**資源。通常不安全的是,假定可以提取URI來提供關於資源的信息。 – 2014-09-26 05:18:16

回答

5

如果你想獲得的所有RDF數據x(相當於取消引用的URI),你可以改變你的SPARQL查詢:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
PREFIX dbpedia: <http://dbpedia.org/ontology/> 
DESCRIBE ?x where {?x rdf:type dbpedia:Drug} LIMIT 100 

事實上,解引用URI是(經常)翻譯成由服務器執行的SPARQL查詢。查詢通常具有以下形式:

DESCRIBE <URI> 
+1

你救了我的命。謝謝! – 2014-09-26 09:13:19

+1

這將在大多數端點上給出合理的結果,但沒有指定「describe」查詢返回的結果。爲了使這個健壯,OP可能需要'構造其中{?s?p?o;一個dbpedia-owl:Drug}'。 – 2014-09-29 00:33:52

+1

確實,DESCRIBE查詢結果取決於實際的推進。但是,您的提案會返回更少的數據,因爲Virtuoso實施還包括傳入鏈接:) – enridaga 2014-09-29 09:05:37