Ckan
This is the implementation of the Ckan data handler for MindsDB.
CKAN is a Data Catalogue for Open Data. It stores data in a DataStore. To retrieve data from CKAN, you need to use the CKAN API.
Implementation
You can connect CKAN by creating a CKAN API client. In this handler, you can create a CKAN API client with ckanapi.
Some CKAN instances require you to provide API key. You can find it in the CKAN user panel.
from ckanapi import RemoteCKAN
ckan = RemoteCKAN('https://ckan.example.com/', apikey='YOUR_API_KEY')
CKAN API client supports all API methods of CKAN. For our handler we use the DataStore API.
The datastore_search_sql
action supports raw SQL commands to be used to search for the data.
Here is an example:
ckan.action.datastore_search_sql(sql='SELECT * FROM "resource_id"')
If you installed MindsDB locally via pip, you need to install all handler dependencies manually. To do so, go to the handler’s folder (mindsdb/integrations/handlers/ckan_handler) and run this command: pip install -r requirements.txt
.
Usage
In order to make use of this handler and connect to a Ckan server in MindsDB, the following syntax can be used:
CREATE DATABASE ckan_datasource
WITH
engine = 'ckan',
parameters = {
"url": "http://demo.ckan.org/api/3/action/",
"apikey": "YOUR_API_KEY"
};