[ckan-dev] Relationship between resource and datastore

Lasse Vestergaard ibbernik at gmail.com
Thu Dec 27 12:21:39 UTC 2012


Hi all.

I have been trying to learn CKAN for a couple of weeks, and I have now come
to a point where I don't get the conceptual idea behind the relationship
between resource and the datastore.

As I understand it, you have attach a datastore to an existing resource in
CKAN, but there doesn't have to be any resemblance between the datastore
and the resource. This means that I can have an image as a resource, and
then have a completely arbitrary datastore related to it. Someone could
argue that this makes sense because the datastore is collecting data that
relates to the image - the datastore could have data about how much people
like the image. That might be a valid argument, but it seems odd, to me,
that I can upload ex. a CSV file as a resource, and then put it into the
datastore through datastorer (I haven't been able to get the datastorer up
and running yet, but I assume that the datastorer creates a datastore that
relates to the CSV resource?). This means that I have the CSV file as the
resource and users can download this file. At the same time I can access
the CSV file data through the datastore. Furthermore this means that I can
add, update and delete data in the datastore. Lets say I have regularly
been inserting new rows into the datastore, and after a while I want to get
a dump of what is going on. If I am a normal user, I would just go and
download the CSV file, but that would be wrong, because the CSV file
doesn't hold any of the updates that have been made through the datastore.

All in all this means that the users would be disappointed when they find
out that nothing has happened in relation to the resource. That is just one
dimension of the issue. As I perceive it the CSV file is useless from the
very beginning. The only reason why I would have the CSV file in the
ressource is because I wanted to make the template for the datastore tabel.
After that the CSV file would be deprecated because it doesn't get updated
with the datastore. If that is the case, why couldn't I just have the
datastore as a resource by it self in the first place? I could just setup
the tabel template through the datastore API.

It might easily by me that is missing some point about CKAN.

Regards

Lasse Vestregaard (Denmark)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.okfn.org/pipermail/ckan-dev/attachments/20121227/bb1e510c/attachment.html>


More information about the ckan-dev mailing list