2016-02-26 26 views
1

CKAN Rest API的目的是獲取實際數據的元數據信息嗎?像修訂版一樣,數據集下的可用資源?CKAN REST API的目標明確性

http://demo.ckan.org/api/1/rest/dataset/formula-1 http://demo.ckan.org/api/2/rest/dataset/formula-1

這是兩個不同版本的API如此混亂,而且如何導航至與REST API的實際數據?我期待過濾使用REST API開箱的數據等 http://demo.ckan.org/api/1/rest/dataset/formula-1/resources/f6b468e8-c7fe-4534-98b3-189030cb49dd/extensao/html

式-1具有ID f6b468e8-c7fe-4534-98b3-189030cb49dd一個資源,它包含屬性「extensao」與內容爲html

不能與操作API甚至訪問http://demo.ckan.org/api/action/datastore_search?resource_id=f6b468e8-c7fe-4534-98b3-189030cb49dd

注:我已經知道,在操作API一個可以使用的過濾器(如果操作API的作品),但它不是我所期待的,因爲它沒有休息。

回答

2

REST API的目的是揭示存儲在CKAN中的元數據。它不公開CKAN數據存儲區中的數據。

API的第二個版本與第一個版本非常相似,但是當您詢問軟件包或組的列表時,它會將它們返回爲表示爲ID而不是名稱。這是不太可讀的,但名稱偶爾會改變,所以使用ID對於想要跟蹤事物的機器更有幫助。如果您可以確定文檔中的混淆內容,那麼我們可以改進它們,或者直接自行創建一個拉取請求。

我期待使用REST API篩選數據開箱像http://demo.ckan.org/api/1/rest/dataset/formula-1/resources/f6b468e8-c7fe-4534-98b3-189030cb49dd/extensao/html

你試圖挖成使用URL路徑的資源。我不清楚這是在RESTful的任何常見定義。無論如何,CKAN不支持它。

甚至不能操作API http://demo.ckan.org/api/action/datastore_search?resource_id=f6b468e8-c7fe-4534-98b3-189030cb49dd

,搜索在數據存儲CKAN訪問。它會給出錯誤Not found: Resource \"f6b468e8-c7fe-4534-98b3-189030cb49dd\" was not found,因爲該資源尚未放入數據存儲區。數據存儲僅適用於表格數據,但該數據集是JSON文件,即分層數據。如果它是CSV,你可以進行過濾。

幾年前,CKAN的REST API已被棄用。 Action API在很多方面都比較好,並且保持不變。

+0

感謝您的回覆。如果我對你有所瞭解,Action API是訪問資源的新方式,我可以忘記REST API,因爲它已被棄用(我們還沒有開始全面使用CKan,因此使用棄用的API沒有意義)。我應該在CKan之上使用任何擴展來尋找我想要的東西(數據上的REST API)?或者有什麼辦法可以讓CKan默認提供它。 – AMKhan

+0

它已被正式棄用,但有一些像utils和修改的東西,但沒有做到Action API。另外,一些用戶非常樂意爲了簡單的目的而使用簡單的RESTful API,並且沒有跡象表明它將從CKAN afaict中移除。 –