[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