[ckan-discuss] CKAN API and relationships

Richard Cyganiak richard at cyganiak.de
Mon Jan 23 16:11:47 GMT 2012


Hi David,

On 23 Jan 2012, at 12:54, David Read wrote:
>> We need another type: links_to.
> 
> Yes, these are designed to be added when good use cases come along
> like this, so I will add it. There's an argument for making it
> arbitrary, but I think we'll keep it constrained whilst we see how it
> gets used.

FWIW, we brainstormed possible other relationship types during November's CKAN+LD meetup, and I think all other types that came up do fit more or less comfortably into the existing set.

> I'll see if we can easily add a 'count' property for this one, to
> store the number of links,

That would be really great.

> I've put these requests in a ticket http://trac.ckan.org/ticket/1695
> and since it should be quick, I'll aim to get these onto the datahub
> in the next couple of weeks.

That's great news! Looking forward!

> By the way, you may wish to play with these using the version 3 of the
> API - we'd be interested in your views. It's RPC style rather than
> RESTful. The v1 and v2 APIs remain as RESTful wrappers over calls such
> as 'package_relationship_create'. There are still rough edges, such as
> 500 error if you get don't send the right parameters, but otherwise
> we're pleased about the extra feedback it gives. Docs:
> http://readthedocs.org/docs/ckan/en/latest/apiv3.html

Yeah I've seen the v3 API docs. And to be honest I'm not a big fan.

It's a bit hard for me to articulate why. From my point of view – someone who started knowing nothing about the API, doesn't have much time, and wants to learn just enough to get a particular small job done – the v2 version just seems more approachable.

Figuring out how to read from v2 is really trivial. All I need is this little table here, and a web browser to test some calls:
http://readthedocs.org/docs/ckan/en/latest/api.html#model-resources

In the v3 version, I can't do anything in the browser; I need to start messing around with curl to do even the most simple interaction. To be honest, when I saw that I need POST to read from v3, I cursed a little and went right back to v2… The exposed function calls in v3 also seem more low-level. v2 feels like it's on a higher level of abstraction.

(If CKAN had *only* the v3 API, then I'd maybe grumble a bit about not being able to read with GET, and get on with it. But with both the REST-style v2 and the RPC-style v3 available, there is very little that draws me to v3…)

I apologize for this rather unproductive and negative message :-/

Richard


More information about the ckan-discuss mailing list