Freebase : Level 3

It has been a long time since I have written a post, I am a little nervous now. Freebase has moved into a different league with Google acquiring it in 2010(Right about the time when I used Freebase to do the exact same thing that Google does now, not gloating just saying search engines just weren’t doing enough besides Page-ranking).
More information can be found on the following two links
Google Acquires Metaweb
Semantic Search

The results are evident now , search for a movie and you will see a nifty bar on the side showing a whole lot more information, information that was always there just not being used enough. Enough of talk, back to code.
I got some feedback on the small class that I wrote to query Freebase. It was OK, but cumbersome to use. So, there you go it is all dynamic now.

                dynamic thepolice = new ExpandoObject();
                thepolice.type = "/music/artist";
                thepolice.name = "The Police";
                thepolice.album = new Dictionary<Object, Object>();
                thepolice.album.Add("name", null);
                thepolice.album.Add("limit", 2);
                thepolice.album.Add("genre", new Object[5]);

I agree with .net4 and beyond this is the way developers would like to use it. I would definitely like to use it this way. This time the code is a lot cleaner(I am still learning, I am not evil by default). There is a class that I borrowed from MSDN that allows you to switch over types(more useful than you think). Code is now smaller, with a few tests as well. The entire code is available on Github Freebase.net.