[Developers] Freebase and Yahoo Pipes

Shawn Simister narphorium at gmail.com
Sat Jan 19 00:44:10 UTC 2008


Thanks Tim. I guess I just blindly copied the query from the query 
editor without wrapping it in the proper envelope. Everything works as 
expected now.

Tim Sturge wrote:
> This is an envelope problem; in mqlread the queries= parameter takes a set of queries which are each of the form you have. So you need something like
>
> {"q1":{"query":[{"alias":"CPU","name":null,"type":"/common/topic"}]}}
>
> which says that there is only one query and it takes no additional parameters (like a cursor, or a change in the default language.)
>
> If you escape that you should be fine.
>
> Tim
>
> ----- Original Message -----
> From: "Shawn Simister" <narphorium at gmail.com>
> To: "For discussions about MQL, Freebase API and apps built on Freebase" <developers at freebase.com>
> Sent: Friday, January 18, 2008 4:22:11 PM (GMT-0800) America/Los_Angeles
> Subject: [Developers] Freebase and Yahoo Pipes
>
> I'd like to use Freebase data in a Yahoo pipes mashup but Pipes seems to 
> be having trouble passing a valid query envelope to the read service. In 
> my pipe, I'd like to execute the following query on Freebase.
>
> {"query":[{"alias":"CPU","name":null,"type":"/common/topic"}]}
>
> So I build a URL that points to the read service and passes the query 
> envelope via the queries parameter. This gives me the following URL in 
> Yahoo Pipes.
>
> http://www.freebase.com/api/service/mqlread?queries=%7B%22query%22%3A%5B%7B%22alias%22%3A%22CPU%22%2C%22name%22%3Anull%2C%22type%22%3A%22%2Fcommon%2Ftopic%22%7D%5D%7D
>
> When I try to fetch that URL, Freebase returns the following error.
>
> {
>   "status": "200 OK", 
>   "query": {
>     "code": "/api/status/error", 
>     "messages": [
>       {
>         "info": {}, 
>         "message": "Query envelope must be a dictionary", 
>         "code": "/api/status/error/envelope/parse"
>       }
>     ]
>   }, 
>   "code": "/api/status/ok"
> }
>
> I suspect that this is happening because Freebase doesn't like having 
> all the non-alphanumeric characters escaped. This is reinforced by the 
> fact that I can get the desired results by fetching the following URL 
> directly from my web browser.
>
> http://www.freebase.com/api/service/mqlread?queries={%22query%22%20:%20[{%22alias%22%20:%20%22CPU%22,%22name%22%20:%20null,%22type%22%20:%20%22/common/topic%22}]}
>
> Unfortunately, Yahoo Pipes seems to insist on escaping everything in the 
> URLs that it fetches so I'm stuck. Would it be possible for Freebase to 
> support fully escaped query envelopes? Alternately, is there anyone who 
> has been able to successfully mashup Freebase data in Pipes?
>
> Thanks,
> Shawn
> _______________________________________________
> Developers mailing list
> Developers at freebase.com
> http://lists.freebase.com/mailman/listinfo/developers
>
> _______________________________________________
> Developers mailing list
> Developers at freebase.com
> http://lists.freebase.com/mailman/listinfo/developers
>
>   


More information about the Developers mailing list