good question,

The reason I did it this way is because ckan has the make_link functions and it seemed sensible to use them.  At the moment they do nothing clever except user(adds user pic) which we don't do here but if we did add that functionality say datasets had a onhover action or get a icon, tooltip etc then it would be universal across ckan.

So basically I took the lazy approach but it does mean we go through the correct code paths
I think this is actually ok as we might clean them up at some point eg dataset:name might create a link using the dataset title not the name