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
formula-1有一个id为f6b468e8-c7fe-4534-98b3-189030cb49dd的资源,其中包含属性' extensao'内容为html
即使使用Action API http://demo.ckan.org/api/action/datastore_search?resource_id=f6b468e8-c7fe-4534-98b3-189030cb49dd
也无法访问注意:我已经知道在操作api上可以使用过滤器(如果操作api有效)但它不是我想要的,因为它不是REST。
答案 0 :(得分:2)
REST API的目的是公开存储在CKAN中的元数据。它不会在CKAN的数据存储区中公开数据。
API的第二个版本与第一个版本非常相似,但是当您要求包或组的列表时,它返回它们表示为ids而不是名称。这样可读性较差,但名称偶尔会发生变化,因此使用ID对于想要跟踪事物的机器更有帮助。如果您可以识别文档中令人困惑的内容,那么我们可以改进它们,或者只是自己创建一个拉取请求。
我希望使用REST API过滤数据,如http://demo.ckan.org/api/1/rest/dataset/formula-1/resources/f6b468e8-c7fe-4534-98b3-189030cb49dd/extensao/html
您正在尝试使用URL的路径挖掘资源。我不清楚RESTful的任何常见定义。 CKAN无论如何也不支持它。
即使使用Action 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在许多方面都更好,并且得到维护。