From darthmahon at gmail.com Tue Jan 1 10:15:05 2008 From: darthmahon at gmail.com (Chris Mahon) Date: Tue, 1 Jan 2008 10:15:05 +0000 Subject: [Developers] PHP Integration Problems Message-ID: Hi, I'm currently building a search page for computer games and have come across some teething problems whilst using freebase. $q = array( "type" => "/cvg/cvg_platform", "name" => "Xbox 360", "games_on_this_platform" => array("game" => array("name" => null)) ); This is the query I based that on from within the freebase query builder: [{ "type":"/cvg/cvg_platform", "games_on_this_platform":[{ "game":[{ "name":null }] }], "name":"Xbox 360" }] My PHP script is fairly simple, but it throws up an error "*Warning*: Invalid argument supplied for foreach()", but this only happens on this query. I have other queries I have tested like being able to search for a particular game and that works fine. PHP script below: "/cvg/cvg_platform", "name" => "Xbox 360", "games_on_this_platform" => array("game" => array("name" => null)) ); $auth = 'XXXXXXXXXX'; $results = $mw->read($q, $auth); $count = count($results); ?>
  • ()
  • Any ideas as to why I get results in the query builder but not in PHP, seeing as the query is the same? I've also mentioned this in the discussions board on freebase but I think it would be good if freebase pages had a link to the MQL query that was used to generate the data on that particular page. For example, this page ( http://www.freebase.com/view/reorder/topic/en/xbox_360?propertyId=%2Fcvg%2Fcvg_platform%2Fgames_on_this_platform) does pretty much what I want to do, but has some missing fields etc. It would be good for developers to be able to quickly see how that was generated and would shorten the learning curve dramatically. Thanks, Chris -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freebase.com/pipermail/developers/attachments/20080101/12549eb5/attachment.htm From crism at metaweb.com Tue Jan 1 17:51:50 2008 From: crism at metaweb.com (Christopher R. Maden) Date: Tue, 1 Jan 2008 12:51:50 -0500 (EST) Subject: [Developers] Another Ruby API In-Reply-To: Message-ID: <9639559.165731199209910704.JavaMail.root@h00215> Chris Eppstein wrote: > I'm starting work on a new freebase-enabled web application using ruby > on rails Cool news, Chris. Thanks for sharing it. One comment here: > # I don't know why, but I'm getting some random nils here that > makes this code a little awkward. > # It's probably a bug in my code. It?s not a bug in your code; it?s because not all albums have English titles. When you ask for "name":null on a topic, you are asking for the name in the default language (English). Since many of the albums we imported do not have titles that would be useful to an English speaker (all kanji or Cyrillic characters, for example), we didn?t give them English titles. You can ask for "name":[{"value":null,"lang":null}] instead, or just be prepared for null names in your code. See for more details on internationalization in Freebase. ~Chris -- Christopher R. Maden Data Architect Metaweb Technologies, Inc. From crism at metaweb.com Tue Jan 1 17:53:57 2008 From: crism at metaweb.com (Christopher R. Maden) Date: Tue, 1 Jan 2008 12:53:57 -0500 (EST) Subject: [Developers] PHP Integration Problems In-Reply-To: Message-ID: <28733160.165761199210037100.JavaMail.root@h00215> Chris Mahon wrote: > I'm currently building a search page for computer games and have come across > some teething problems whilst using freebase. > > This is the query I based that on from within the freebase query builder: > > [{ > "type":"/cvg/cvg_platform", > "games_on_this_platform":[{ "game":[{ "name":null }] }], > "name":"Xbox 360" > }] Happy new year, Chris. The problem with using foreach on the result of that query is that it returns a single thing: the platform called ?Xbox 360.? Now, it has a number of games on that platform, but the root of the query is just the platform itself. You can turn the query inside-out, to find games whose platform is the Xbox 360, or you can iterate over the games on that platform, instead of iterating over the platform itself. ~Chris -- Christopher R. Maden Data Architect Metaweb Technologies, Inc. From corallink at gmail.com Tue Jan 1 22:37:47 2008 From: corallink at gmail.com (Coral Link) Date: Tue, 1 Jan 2008 14:37:47 -0800 Subject: [Developers] *tap* *tap* "Is this thing on?" Message-ID: <7110c7dc0801011437h4757c5d1w74e63658a2cd5e9@mail.gmail.com> Happy new year! I posted to the developers list a few days ago, but I never got the email in my inbox (as if the list never sent it on). It's in the archive: http://lists.freebase.com/pipermail/developers/2007-December/001126.html I've gotten other emails from the list. Any ideas what happened? Regards, Indy -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freebase.com/pipermail/developers/attachments/20080101/f0f1df50/attachment.htm From ptomblin at xcski.com Tue Jan 1 22:44:00 2008 From: ptomblin at xcski.com (Paul Tomblin) Date: Tue, 01 Jan 2008 17:44:00 -0500 Subject: [Developers] *tap* *tap* "Is this thing on?" In-Reply-To: <7110c7dc0801011437h4757c5d1w74e63658a2cd5e9@mail.gmail.com> References: <7110c7dc0801011437h4757c5d1w74e63658a2cd5e9@mail.gmail.com> Message-ID: <477AC230.7050500@xcski.com> Coral Link wrote: > Happy new year! I posted to the developers list a few days ago, but I > never got the email in my inbox (as if the list never sent it on). It's > in the archive: > Gmail never shows you the list-sent copy of a post you sent to a list. If you look at the thread that the message is in, it will show you the one that you sent, rather than the one that came back, missing all the list-added headers. Personally, I think that's a very stupid decision on Google's part, but they don't seem willing to change it. This should probably be in a FAQ somewhere because it seems like it gets asked on *some* mailing list I'm on about once a week. -- Paul Tomblin http://blog.xcski.com/ I use shell scripts at ork. Some cow-orkers refuse to touch them, their excuse is usually "I don't understand perl". Their fear of perl is such that all things unknown are also perl. -- Andrew Dalgleish From AVH at zing.net Tue Jan 1 22:48:47 2008 From: AVH at zing.net (Arthur van Hoff) Date: Tue, 1 Jan 2008 14:48:47 -0800 Subject: [Developers] *tap* *tap* "Is this thing on?" In-Reply-To: <7110c7dc0801011437h4757c5d1w74e63658a2cd5e9@mail.gmail.com> References: <7110c7dc0801011437h4757c5d1w74e63658a2cd5e9@mail.gmail.com> Message-ID: Hi Indy, I'm not a sure what the problem is, but from the error message I'm guessing that you are specifying an invalid URL. The upload will fail if the URL is not accessible by the content server. I guess the correct URL is something like: http://www.corallink.com/freebase/files/uwlImage/9202a8c04000641f8000000 0060b61a7/CORAL.gif Happy 2008! From: developers-bounces at freebase.com [mailto:developers-bounces at freebase.com] On Behalf Of Coral Link Sent: Tuesday, January 01, 2008 2:38 PM To: For discussions about MQL,Freebase API and apps built on Freebase Subject: [Developers] *tap* *tap* "Is this thing on?" Happy new year! I posted to the developers list a few days ago, but I never got the email in my inbox (as if the list never sent it on). It's in the archive: http://lists.freebase.com/pipermail/developers/2007-December/001126.html I've gotten other emails from the list. Any ideas what happened? Regards, Indy -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freebase.com/pipermail/developers/attachments/20080101/915fc173/attachment.htm From corallink at gmail.com Tue Jan 1 23:10:50 2008 From: corallink at gmail.com (Coral Link) Date: Tue, 1 Jan 2008 15:10:50 -0800 Subject: [Developers] *tap* *tap* "Is this thing on?" In-Reply-To: <477AC230.7050500@xcski.com> References: <7110c7dc0801011437h4757c5d1w74e63658a2cd5e9@mail.gmail.com> <477AC230.7050500@xcski.com> Message-ID: <7110c7dc0801011510r2ecdab54vbab8efc3901334a0@mail.gmail.com> On Jan 1, 2008 2:44 PM, Paul Tomblin wrote: > Coral Link wrote: > > Happy new year! I posted to the developers list a few days ago, but I > > never got the email in my inbox (as if the list never sent it on). It's > > in the archive: > > > > Gmail never shows you the list-sent copy of a post you sent to a list. If > you > look at the thread that the message is in, it will show you the one that > you > sent, rather than the one that came back, missing all the list-added > headers. > > Personally, I think that's a very stupid decision on Google's part, but > they > don't seem willing to change it. > > This should probably be in a FAQ somewhere because it seems like it gets > asked > on *some* mailing list I'm on about once a week. Hrm, I never noticed this behaviour until right now, but even so, it would seem that it did not follow normal behaviour - I didn't get any posts with the previous message, either mine or from the list. Ah well, I'll chuck it up as a sacrifice to Mercury, the messenger god. Thanks. Indy -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freebase.com/pipermail/developers/attachments/20080101/123103e5/attachment.htm From corallink at gmail.com Tue Jan 1 23:15:56 2008 From: corallink at gmail.com (Coral Link) Date: Tue, 1 Jan 2008 15:15:56 -0800 Subject: [Developers] *tap* *tap* "Is this thing on?" In-Reply-To: References: <7110c7dc0801011437h4757c5d1w74e63658a2cd5e9@mail.gmail.com> Message-ID: <7110c7dc0801011515qfd196f5r124c7a6e8183542@mail.gmail.com> On Jan 1, 2008 2:48 PM, Arthur van Hoff wrote: > Hi Indy, > > > > I'm not a sure what the problem is, but from the error message I'm > guessing that you are specifying an invalid URL. The upload will fail if the > URL is not accessible by the content server. I guess the correct URL is > something like: > > > > > http://www.corallink.com/freebase/files/uwlImage/9202a8c04000641f80000000060b61a7/CORAL.gif > > > > Happy 2008! > Hey Arthur, thanks for looking at this. The file I'm trying to upload is on the file system, not available through the website. The error message itself is from sandbox.freebase.com (using posting URL $uploadURL= " http://sandbox.freebase.com/api/service/upload"; ). Does anyone have a php/libcurl image upload example working? Kind regards, Indy -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freebase.com/pipermail/developers/attachments/20080101/bb8de451/attachment.htm From chris at eppsteins.net Wed Jan 2 08:15:38 2008 From: chris at eppsteins.net (Chris Eppstein) Date: Wed, 2 Jan 2008 00:15:38 -0800 Subject: [Developers] Another Ruby API Message-ID: Hello again, I received some excellent feedback yesterday and was able to incorporate it into the code today, along with some significant refactoring and improved documentation. If you're interested please check out the most recent code: http://freebaseapi.rubyforge.org/svn/trunk/freebase/ or read the docs at: http://freebaseapi.rubyforge.org/svn/trunk/freebase/rdoc/index.html New Features: No need to call Freebase::Type.define('/music/artist') before accessing Freebase::Types::Music::Artist (thanks to pat allan for this suggestion and code examples) Ability to add custom methods to instances of Freebase types using a mixin and naming conventions. Support for nested queries to retrieve multiple levels of associations in a single query Open Questions/Concerns: :fb_object => true should be added to the subquery whenever sub- querying an association so that a distinction can be drawn for the following differences in validation logic between object types and core types: objects have multi-valued types, core types do not and you may not query a core type with [] you have to use null. values of core types do not have an id and you may not specify 'id' : null in the query of a core type. In both of these cases, the validation seems arbitrarily enforced; returning ['/type/text'] and 'id':null back respectively are in line with the other behaviors of the system, in my estimation. I'm getting nulls from collections associations from Artist -> Album and from Album -> Track. I understand the null names problem now and am handling that appropriately per the recommendations in my new query. But I don't understand why a null would be returned as an element of an array. Please let me know whether to begin searching for a code defect on my end. Thanks, Chris The code example again using the latest api: # Usage: # ./script/runner vendor/plugins/freebase/examples/albums.rb "The Police" # add these methods to the Track class module Freebase::Mixins::Music module Track def formatted_length "#{self.length.to_i / 60}:#{sprintf("%02i", self.length.to_i % 60)}" end end end artist = Freebase::Types::Music::Artist.find(:first, :conditions => { :name => {:value => ARGV[0], :lang => {:name => "English"}}, :album => [{ :fb_object => true, :name => {:value => nil, :lang => {:name => "English"}}, :release_date => nil, :track => [{ :fb_object => true, :length => nil, :name => {:value => nil, :lang => {:name => "English"}} }] }] } ) artist.albums.each_with_index do |album, i| next unless album # XXX I don't know why I'm getting random nils here. puts "#{i+1}) #{album.name} (#{album.release_date || '?'})" album.tracks.compact.each_with_index do |track, j| puts "\tT#{j+1}. #{track.name || '???'} (#{track.formatted_length})" end end -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freebase.com/pipermail/developers/attachments/20080102/a44a9a8d/attachment-0001.htm From will at hamstersoup.com Wed Jan 2 20:03:34 2008 From: will at hamstersoup.com (Will Moffat) Date: Wed, 2 Jan 2008 15:03:34 -0500 Subject: [Developers] Getting started developing Freebase applications Message-ID: <2f665fe20801021203wb13e346s9fc7a222ad61ff03@mail.gmail.com> Dear developers, Do you wish that there was a high-level overview about writing Freebase-powered applications? Something to read first before diving into detailed documentation? I started writing a short "Getting started developing Freebase applications". This is the page I was looking for when I started developing my first Freebase app. http://www.freebase.com/view/guid/9202a8c04000641f8000000006de254d I'd be very grateful for your feedback on this page. Would it have helped you write an app? regards, --Will From darthmahon at gmail.com Wed Jan 2 21:12:34 2008 From: darthmahon at gmail.com (Chris Mahon) Date: Wed, 2 Jan 2008 21:12:34 +0000 Subject: [Developers] PHP Integration Problems In-Reply-To: <28733160.165761199210037100.JavaMail.root@h00215> References: <28733160.165761199210037100.JavaMail.root@h00215> Message-ID: Hi Chris, Thanks for the reply. Starting to make more sense, I can't see how I would use games_on_this_platform then? I.E. what can I do with it? My query was the same as on the Query Builder/Editor which did return results so it was odd that PHP did not. Anyway, I've made good progress and now have results coming back! One quick question though. I am adding a limit to my query, above the default 100. However when I do this it does not return results for my query. If I take the limit out, I get results. Any ideas? Is there a way of getting it to return ALL matches without limit? Query is now as follows: $q2 = array(array("/common/topic/image" => array(array("optional" => true, "id" => null)), "type" => "/cvg/computer_videogame", "name" => null, "id" => null, "sort" => "name", "release_date" => array(), "cvg_genre" => array(), "versions" => array("platform" => array("id" => null, "name" => null, "name~=" => "Xbox 360")), "limit" => 150 )); Cheers, Chris On Jan 1, 2008 5:53 PM, Christopher R. Maden wrote: > Chris Mahon wrote: > > I'm currently building a search page for computer games and have come > across > > some teething problems whilst using freebase. > > > > This is the query I based that on from within the freebase query > builder: > > > > [{ > > "type":"/cvg/cvg_platform", > > "games_on_this_platform":[{ "game":[{ "name":null }] }], > > "name":"Xbox 360" > > }] > > Happy new year, Chris. The problem with using foreach on the result of > that query is that it returns a single thing: the platform called "Xbox > 360." Now, it has a number of games on that platform, but the root of the > query is just the platform itself. > > You can turn the query inside-out, to find games whose platform is the > Xbox 360, or you can iterate over the games on that platform, instead of > iterating over the platform itself. > > ~Chris > -- > Christopher R. Maden > Data Architect > Metaweb Technologies, Inc. > > _______________________________________________ > Developers mailing list > Developers at freebase.com > http://lists.freebase.com/mailman/listinfo/developers > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freebase.com/pipermail/developers/attachments/20080102/374b6968/attachment.htm From tim at metaweb.com Wed Jan 2 22:22:41 2008 From: tim at metaweb.com (Tim Kientzle) Date: Wed, 2 Jan 2008 14:22:41 -0800 Subject: [Developers] PHP Integration Problems In-Reply-To: References: <28733160.165761199210037100.JavaMail.root@h00215> Message-ID: <654C68B1-B38E-4728-A4A2-01FC962165FC@metaweb.com> If you get no results without the limit, it's probably timing out on the server. You'll need to use a cursor to request "pages" of data at a time. On freebase.com, search for "MQL Cursors" and you'll get a few useful hits, including some examples: http://www.freebase.com/view/search?limit=30&start=0&query=mql+cursor You should probably start with the documentation here: http://www.freebase.com/view/guid/9202a8c04000641f800000000544e139 On Jan 2, 2008, at 1:12 PM, Chris Mahon wrote: > Hi Chris, > > Thanks for the reply. Starting to make more sense, I can't see how I > would use games_on_this_platform then? I.E. what can I do with it? > My query was the same as on the Query Builder/Editor which did > return results so it was odd that PHP did not. Anyway, I've made > good progress and now have results coming back! > > One quick question though. I am adding a limit to my query, above > the default 100. However when I do this it does not return results > for my query. If I take the limit out, I get results. Any ideas? Is > there a way of getting it to return ALL matches without limit? > > Query is now as follows: > > $q2 = array(array("/common/topic/image" => array(array("optional" => > true, "id" => null)), > "type" => "/cvg/computer_videogame", > "name" => null, > "id" => null, > "sort" => "name", > "release_date" => array(), > "cvg_genre" => array(), > "versions" => array("platform" => array("id" => null, "name" > => null, "name~=" => "Xbox 360")), > "limit" => 150 > )); > > Cheers, > Chris > > On Jan 1, 2008 5:53 PM, Christopher R. Maden > wrote: > Chris Mahon wrote: > > I'm currently building a search page for computer games and have > come across > > some teething problems whilst using freebase. > > > > This is the query I based that on from within the freebase query > builder: > > > > [{ > > "type":"/cvg/cvg_platform", > > "games_on_this_platform":[{ "game":[{ "name":null }] }], > > "name":"Xbox 360" > > }] > > Happy new year, Chris. The problem with using foreach on the result > of that query is that it returns a single thing: the platform called > "Xbox 360." Now, it has a number of games on that platform, but the > root of the query is just the platform itself. > > You can turn the query inside-out, to find games whose platform is > the Xbox 360, or you can iterate over the games on that platform, > instead of iterating over the platform itself. > > ~Chris > -- > Christopher R. Maden > Data Architect > Metaweb Technologies, Inc. > > _______________________________________________ > 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 From chris at eppsteins.net Thu Jan 3 00:25:45 2008 From: chris at eppsteins.net (Chris Eppstein) Date: Wed, 2 Jan 2008 16:25:45 -0800 Subject: [Developers] PHP Integration Problems In-Reply-To: <654C68B1-B38E-4728-A4A2-01FC962165FC@metaweb.com> References: <28733160.165761199210037100.JavaMail.root@h00215> <654C68B1-B38E-4728-A4A2-01FC962165FC@metaweb.com> Message-ID: <086EC419-B0C1-4A27-9D7F-3431BF6FAFB5@eppsteins.net> I wonder if the problem is just that the query isn't being placed within the request envelope. That would make it work in the editor but not via code. The request you send via mqlread should look like this { 'qname' : { 'query' : query_in_the_query_editor }} This was a gotcha for me on a couple of occasions until I abstracted it away. -chris On Jan 2, 2008, at 2:22 PM, Tim Kientzle wrote: > If you get no results without the limit, it's probably timing out on > the server. > > You'll need to use a cursor to request "pages" of data at a time. On > freebase.com, > search for "MQL Cursors" and you'll get a few useful hits, including > some examples: > > http://www.freebase.com/view/search?limit=30&start=0&query=mql+cursor > > You should probably start with the documentation here: > > http://www.freebase.com/view/guid/9202a8c04000641f800000000544e139 > > > > On Jan 2, 2008, at 1:12 PM, Chris Mahon wrote: > >> Hi Chris, >> >> Thanks for the reply. Starting to make more sense, I can't see how I >> would use games_on_this_platform then? I.E. what can I do with it? >> My query was the same as on the Query Builder/Editor which did >> return results so it was odd that PHP did not. Anyway, I've made >> good progress and now have results coming back! >> >> One quick question though. I am adding a limit to my query, above >> the default 100. However when I do this it does not return results >> for my query. If I take the limit out, I get results. Any ideas? Is >> there a way of getting it to return ALL matches without limit? >> >> Query is now as follows: >> >> $q2 = array(array("/common/topic/image" => array(array("optional" => >> true, "id" => null)), >> "type" => "/cvg/computer_videogame", >> "name" => null, >> "id" => null, >> "sort" => "name", >> "release_date" => array(), >> "cvg_genre" => array(), >> "versions" => array("platform" => array("id" => null, "name" >> => null, "name~=" => "Xbox 360")), >> "limit" => 150 >> )); >> >> Cheers, >> Chris >> >> On Jan 1, 2008 5:53 PM, Christopher R. Maden >> wrote: >> Chris Mahon wrote: >>> I'm currently building a search page for computer games and have >> come across >>> some teething problems whilst using freebase. >>> >>> This is the query I based that on from within the freebase query >> builder: >>> >>> [{ >>> "type":"/cvg/cvg_platform", >>> "games_on_this_platform":[{ "game":[{ "name":null }] }], >>> "name":"Xbox 360" >>> }] >> >> Happy new year, Chris. The problem with using foreach on the result >> of that query is that it returns a single thing: the platform called >> "Xbox 360." Now, it has a number of games on that platform, but the >> root of the query is just the platform itself. >> >> You can turn the query inside-out, to find games whose platform is >> the Xbox 360, or you can iterate over the games on that platform, >> instead of iterating over the platform itself. >> >> ~Chris >> -- >> Christopher R. Maden >> Data Architect >> Metaweb Technologies, Inc. >> >> _______________________________________________ >> 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 > > _______________________________________________ > Developers mailing list > Developers at freebase.com > http://lists.freebase.com/mailman/listinfo/developers From darthmahon at gmail.com Thu Jan 3 07:27:44 2008 From: darthmahon at gmail.com (Chris Mahon) Date: Thu, 3 Jan 2008 07:27:44 +0000 Subject: [Developers] PHP Integration Problems In-Reply-To: <086EC419-B0C1-4A27-9D7F-3431BF6FAFB5@eppsteins.net> References: <28733160.165761199210037100.JavaMail.root@h00215> <654C68B1-B38E-4728-A4A2-01FC962165FC@metaweb.com> <086EC419-B0C1-4A27-9D7F-3431BF6FAFB5@eppsteins.net> Message-ID: Hi Guys, Tim - thanks for the info, I'll look into MQL Cursors. Chris - I checked to see if the query produced was the same and I believe it is. This is what PHP outputs: {"qname":{"query":[{"\/common\/topic\/image":[{"optional":true,"id":null}],"type":"\/cvg\/computer_videogame","name":null,"id":null,"sort":"name","release_date":[],"cvg_genre":[],"versions":{"platform":{"id":null,"name":null,"name~=":"Xbox 360"}},"limit":150}]}} I ran the above query in freebase and it produced results. This is the PHP that passes my query through: // Put the query into an envelope object $envelope = array("qname" => array("query" => $queryobj)); // Serialize the envelope object to JSON text $querytext = $this->json->encode($envelope); Thanks, Chris On Jan 3, 2008 12:25 AM, Chris Eppstein wrote: > I wonder if the problem is just that the query isn't being placed > within the request envelope. That would make it work in the editor but > not via code. The request you send via mqlread should look like this > { 'qname' : { 'query' : query_in_the_query_editor }} > > This was a gotcha for me on a couple of occasions until I abstracted > it away. > > -chris > > > On Jan 2, 2008, at 2:22 PM, Tim Kientzle wrote: > > > If you get no results without the limit, it's probably timing out on > > the server. > > > > You'll need to use a cursor to request "pages" of data at a time. On > > freebase.com, > > search for "MQL Cursors" and you'll get a few useful hits, including > > some examples: > > > > http://www.freebase.com/view/search?limit=30&start=0&query=mql+cursor > > > > You should probably start with the documentation here: > > > > http://www.freebase.com/view/guid/9202a8c04000641f800000000544e139 > > > > > > > > On Jan 2, 2008, at 1:12 PM, Chris Mahon wrote: > > > >> Hi Chris, > >> > >> Thanks for the reply. Starting to make more sense, I can't see how I > >> would use games_on_this_platform then? I.E. what can I do with it? > >> My query was the same as on the Query Builder/Editor which did > >> return results so it was odd that PHP did not. Anyway, I've made > >> good progress and now have results coming back! > >> > >> One quick question though. I am adding a limit to my query, above > >> the default 100. However when I do this it does not return results > >> for my query. If I take the limit out, I get results. Any ideas? Is > >> there a way of getting it to return ALL matches without limit? > >> > >> Query is now as follows: > >> > >> $q2 = array(array("/common/topic/image" => array(array("optional" => > >> true, "id" => null)), > >> "type" => > "/cvg/computer_videogame", > >> "name" => null, > >> "id" => null, > >> "sort" => "name", > >> "release_date" => array(), > >> "cvg_genre" => array(), > >> "versions" => array("platform" => > array("id" => null, "name" > >> => null, "name~=" => "Xbox 360")), > >> "limit" => 150 > >> )); > >> > >> Cheers, > >> Chris > >> > >> On Jan 1, 2008 5:53 PM, Christopher R. Maden > >> wrote: > >> Chris Mahon wrote: > >>> I'm currently building a search page for computer games and have > >> come across > >>> some teething problems whilst using freebase. > >>> > >>> This is the query I based that on from within the freebase query > >> builder: > >>> > >>> [{ > >>> "type":"/cvg/cvg_platform", > >>> "games_on_this_platform":[{ "game":[{ "name":null }] }], > >>> "name":"Xbox 360" > >>> }] > >> > >> Happy new year, Chris. The problem with using foreach on the result > >> of that query is that it returns a single thing: the platform called > >> "Xbox 360." Now, it has a number of games on that platform, but the > >> root of the query is just the platform itself. > >> > >> You can turn the query inside-out, to find games whose platform is > >> the Xbox 360, or you can iterate over the games on that platform, > >> instead of iterating over the platform itself. > >> > >> ~Chris > >> -- > >> Christopher R. Maden > >> Data Architect > >> Metaweb Technologies, Inc. > >> > >> _______________________________________________ > >> 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 > > > > _______________________________________________ > > 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 > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freebase.com/pipermail/developers/attachments/20080103/f7daae08/attachment-0001.htm From ssak at appliedminds.com Thu Jan 3 17:10:31 2008 From: ssak at appliedminds.com (Steve Sak) Date: Thu, 03 Jan 2008 12:10:31 -0500 Subject: [Developers] /freebase/type_hints/hinted_type Message-ID: <477D1707.2090506@appliedminds.com> This property seems to have disappeared in the last few minutes. Why? -- Steven G Sak Applied Minds, Inc. 11718 Bowman Green Drive Reston, Virginia 20190 o: (703) 483-2207 c: (703) 626-2557 From bryan.cheung at metaweb.com Thu Jan 3 18:56:34 2008 From: bryan.cheung at metaweb.com (Bryan Cheung) Date: Thu, 3 Jan 2008 10:56:34 -0800 Subject: [Developers] [Fwd: /freebase/type_hints/hinted_type] In-Reply-To: <477D1EDC.3030501@metaweb.com> References: <477D1EDC.3030501@metaweb.com> Message-ID: Hi Steve, The property /freebase/type_hints/hinted_type was removed as part of some clean up in freebase. We are using hint properties directly on the type and properties. Unfortunately, I failed to communicate this to the developer list and I apologize for that. Properties that have been removed: /freebase/type_hints/hinted_type /freebase/type_hints/property_hints /freebase/property_hints/hinted_property /freebase/property_hints/property_hint_of Types that have been removed: /freebase/hinted_property /freebase/hinted_type I'll be more careful in the future and be sure to notify this list well before making any changes. Bryan > From: Steve Sak > Date: January 3, 2008 9:10:31 AM PST > To: developers at freebase.com > Subject: [Developers] /freebase/type_hints/hinted_type > Reply-To: "For discussions about MQL, Freebase API and apps built on > Freebase" > > > > This property seems to have disappeared in the last few minutes. > Why? > > -- > Steven G Sak > Applied Minds, Inc. > 11718 Bowman Green Drive > Reston, Virginia 20190 > o: (703) 483-2207 > c: (703) 626-2557 > > _______________________________________________ > Developers mailing list > Developers at freebase.com > http://lists.freebase.com/mailman/listinfo/developers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freebase.com/pipermail/developers/attachments/20080103/ddab17ee/attachment.htm From jeff at metaweb.com Thu Jan 3 20:06:53 2008 From: jeff at metaweb.com (Jeff Prucher) Date: Thu, 3 Jan 2008 12:06:53 -0800 Subject: [Developers] [Data-modeling] Proposed refactoring in the publishing domain In-Reply-To: <00ad01c84298$9fc1f590$66fa1eac@amd> Message-ID: <001301c84e44$2f1495c0$bc01a8c0@p4> The links in my previous message have expired, so please disregard them. I'd like to revisit this, now that most folks will be back from the holidays, and hopefully publish it to Freebase.com soon. There are two new types: "written work" and "illustrated work". These will be used as "supporting types" on all manner of written and/or illustrated topics (book, book edition, poem, short story, review, short non-fiction, play), and will replace some of the redundant properties on these types (author, editor, poet, playwright, illustrator, cover artist). They also provide more flexibility, and allow (for example) an illustrator to be added to a book (in cases where every edition of the book has the same illustrations) or a book edition (where different editions may have different illustrations), or for an editor to be added to a book edition, rather than a book. The schemata are here: http://sandbox.freebase.com/view/schema/book/written_work http://sandbox.freebase.com/view/schema/book/illustrated_work Examples can be found in the topics lists for these types, but I want to call out a few: http://sandbox.freebase.com/view/guid/9202a8c04000641f8000000006e83b03 ("Kipling's Science Fiction": a book with an author and an editor, and which has different cover artists in different editions) http://sandbox.freebase.com/view/guid/9202a8c04000641f8000000006e83b60 (The Norton Critical Edition of "Middlemarch", which has an editor on the book edition, but not on the book itself [this is not possible in the current schema]). http://sandbox.freebase.com/view/guid/9202a8c04000641f8000000006e83bea (An interview -- the new types will make the existing "interview", "interviewer", and "interviewee" types unnecessary) Please take a look around, and let me know what you think. Jeff _____ From: data-modeling-bounces at freebase.com [mailto:data-modeling-bounces at freebase.com] On Behalf Of Jeff Prucher Sent: Wednesday, December 19, 2007 3:41 PM To: 'Freebase data modeling mailing list' Cc: 'For discussions about MQL,Freebase API and apps built on Freebase' Subject: Re: [Data-modeling] Proposed refactoring in the publishing domain I've put in the illustration model: take a look here: http://sandbox.freebase.com/view/schema/book/illustrated_work I've put in two samples: one in which all editions of the book have the same illustrator (http://sandbox.freebase.com/view/make_way_for_ducklings), and one (well, two) in which there are different illustrators for different editions of the book: http://sandbox.freebase.com/view/guid/9202a8c04000641f8000000006df9af5 and http://sandbox.freebase.com/view/guid/9202a8c04000641f8000000006df9c6f This will of course be deleted come next Monday, and I'll be offline until after Christmas, but please take a look and let me know what you think! Jeff _____ From: data-modeling-bounces at freebase.com [mailto:data-modeling-bounces at freebase.com] On Behalf Of Jeff Prucher Sent: Monday, December 17, 2007 5:11 PM To: 'Freebase data modeling mailing list' Cc: 'For discussions about MQL,Freebase API and apps built on Freebase' Subject: Re: [Data-modeling] Proposed refactoring in the publishing domain The cover artist thing is a good idea. I'm now imagining a "illustratorship" type (I know, that's a lame name; I won't really call it that) that could be used similarly to authorship, but which could be applied to magazine issues, book editions, and books (and maybe some other things). Enum properties would probably include "illustrator", "cover artist", "cover design", and maybe some of the comics values -- pencillor, colorist, inker, letterer; but this list will grow organically. An open question would be whether the subject of an artist's monograph would properly be in the "writer" field or "illustrator" field. But this is tractable. I'll have to re-post the schema when sandbox refreshes, so I'll see if I can add this to it as well. Jeff _____ From: data-modeling-bounces at freebase.com [mailto:data-modeling-bounces at freebase.com] On Behalf Of Daniel Renfer Sent: Thursday, December 13, 2007 5:41 PM To: Freebase data modeling mailing list Cc: For discussions about MQL,Freebase API and apps built on Freebase Subject: Re: [Data-modeling] Proposed refactoring in the publishing domain While this will make it slightly harder to find information for the simple case (author of a book) I think this will make it much easier to model the more complex types of contributions to a published work. You should consider replacing Magazine's Cover Artist with a Cover Contributor. I'm sure there are a few other types where this could replace multiple properties. (ie. Comic Books) On 12/13/07, Jeff Prucher wrote: There have been several requests made, over the last few months, to allow for more flexibility of attributing authorship and other contributions to written works, and also to add various properties to a number of types in the publishing domain. Toward this end, I've created a new type, "written work" that will be an included type on all the various types that represent written works -- book, short story, poem, short non-fiction, review, and translation. The new type is currently on sandbox. I'd appreciate it if anyone who is interested could take a look at it and let me know what you think. Please look before Monday evening (Pacific Time), since sandbox will be refreshed then. http://sandbox.freebase.com/view/schema/book/written_work I've filled out the contents of the April 2007 issue of the Magazine of Fantasy and Science Fiction as an example. Click the various items in the contents property to see the type in action. http://sandbox.freebase.com/view/guid/9202a8c04000641f800000000514f951 One feature is to treat authorship (or similar form of creative contribution) as a compound value type which will allow for multiple types of contribution to be recorded in the same property and for all the disparate types of works to be listed together on the contributors' pages. Currently, author and editor are treated as separate properties; having a single property will allow Freebase to reconcile more easily to other data-sources, which usually store these in the same field. This will also allow us to record books where the illustrator is tied to the book itself, rather to individual editions (as in most children's picture books, but as opposed to, say, an illustrated edition of Huckleberry Finn). See http://sandbox.freebase.com/view/guid/9202a8c04000641f8000000006c3521e and http://sandbox.freebase.com/view/make_way_for_ducklings for some further examples. Another of the new type is that a number of other properties can usefully be shared by all types of written works, rather than being distributed onto each. These properties are: original language, date written, copyright date, date of first publication, and online versions. Others will probably arise, but this seems like a good set to start with. (I'm copying the developers list in case anyone is writing an application using any of the publishing domain types.) Thanks in advance, Jeff Prucher Type Librarian & Ontologist Metaweb _______________________________________________ Data-modeling mailing list Data-modeling at freebase.com http://lists.freebase.com/mailman/listinfo/data-modeling -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freebase.com/pipermail/developers/attachments/20080103/c1999e5e/attachment-0001.htm From synedra at gmail.com Thu Jan 3 22:15:10 2008 From: synedra at gmail.com (Kirsten Jones) Date: Thu, 3 Jan 2008 14:15:10 -0800 Subject: [Developers] Null or before now query In-Reply-To: References: Message-ID: Developer folks, I'm trying to get VentureSpin has this for the date for (for example) "works at" "to" : { "optional" : "forbidden", "value" : { }, }, and this for "worked at" "to" : { "optional" : "required", "value" : { }, }, If there is an "End Date" then you don't work there anymore. But Clint Hope (in Freebase) has an end date for working at AMI of 2030, which means he still works here - but the above query says he doesn't. You can't remove the end date which is a different kind of FB bug, but I'm wondering how we can make a query that returns any instance where there is not a date before today, and which would include 'null'. The query is a little difficult to debug since neither "forbidden" nor "required" are documented anywhere in the MQL documentation so I'm kind of flying blind here... Thanks, Kirsten From crism at metaweb.com Fri Jan 4 01:46:25 2008 From: crism at metaweb.com (Christopher R. Maden) Date: Thu, 3 Jan 2008 20:46:25 -0500 (EST) Subject: [Developers] Null or before now query In-Reply-To: Message-ID: <4283784.174131199411185872.JavaMail.root@h00215> Kirsten Jones wrote: > If there is an "End Date" then you don't work there anymore. But > Clint Hope (in Freebase) has an end date for working at AMI of 2030, > which means he still works here - but the above query says he > doesn't. You can find all of my jobs that end before today with this query: { "query" : { "employment_history" : [ { "company" : null, "to" : { "type" : "/type/datetime", "value" : null, "value<=" : "2008-01-04" } } ], "id" : "/guid/9202a8c04000641f8000000003cbef5c", "type" : "/people/person" } } This requires that the gig have an end date, and that its value be less than or equal to today?s date. (This does mean that a job whose end date were only ?2008? or ?2008-01? would compare as true, but we don?t have date-time?specific comparators yet.) ~Chris -- Christopher R. Maden Data Architect Metaweb Technologies, Inc. From AVH at zing.net Fri Jan 4 20:44:39 2008 From: AVH at zing.net (Arthur van Hoff) Date: Fri, 4 Jan 2008 12:44:39 -0800 Subject: [Developers] sandbox caching old values, slow expiration? In-Reply-To: References: <7110c7dc0712290551j7f3245ci31b6fbd2fc7acda@mail.gmail.com> Message-ID: Hi, I tried doing an empty HTTP POST to /api/service/mqlwrite, but I get an HTTP 405 error, and the cache is not refreshed. What exactly is the recommended method for resetting the cache? Right now I am doing a "harmless" write, which seems to work, but it is kinda ugly. i.e write this: "query": { "id":"/topic/en/kqed" } -----Original Message----- Here's some quoted text from the reply I got: > ... > If you really, really, need to refresh this cookie to get new data, you > should do an empty HTTP POST to /api/service/mqlwrite. I encourage you > to do this sparingly - this is not a generally supported mechanism yet, > but it should continue to work for the near future. -- Kirrily Robert skud at infotrope.net http://infotrope.net _______________________________________________ Developers mailing list Developers at freebase.com http://lists.freebase.com/mailman/listinfo/developers From ben at metaweb.com Fri Jan 4 21:49:21 2008 From: ben at metaweb.com (Ben Drees) Date: Fri, 04 Jan 2008 13:49:21 -0800 Subject: [Developers] sandbox caching old values, slow expiration? In-Reply-To: References: <7110c7dc0712290551j7f3245ci31b6fbd2fc7acda@mail.gmail.com> Message-ID: <477EA9E1.5060800@metaweb.com> Hi Arthur, The logs seem to indicate that those 405s are being generated in response to HTTP GETs. The "refresh cache" functionality is currently defined only for an empty POST to /api/service/mqlwrite. Can you double check that your code is POSTing? -Ben Arthur van Hoff wrote: > Hi, > > I tried doing an empty HTTP POST to /api/service/mqlwrite, but I get an > HTTP 405 error, and the cache is not refreshed. What exactly is the > recommended method for resetting the cache? > > Right now I am doing a "harmless" write, which seems to work, but it is > kinda ugly. i.e write this: > > "query": { > "id":"/topic/en/kqed" > } > > -----Original Message----- > > > Here's some quoted text from the reply I got: > >> ... >> If you really, really, need to refresh this cookie to get new data, >> > you > >> should do an empty HTTP POST to /api/service/mqlwrite. I encourage you >> to do this sparingly - this is not a generally supported mechanism >> > yet, > >> but it should continue to work for the near future. >> > > From AVH at zing.net Fri Jan 4 21:58:15 2008 From: AVH at zing.net (Arthur van Hoff) Date: Fri, 4 Jan 2008 13:58:15 -0800 Subject: [Developers] sandbox caching old values, slow expiration? In-Reply-To: <477EA9E1.5060800@metaweb.com> References: <7110c7dc0712290551j7f3245ci31b6fbd2fc7acda@mail.gmail.com> <477EA9E1.5060800@metaweb.com> Message-ID: Ah, you are right. It turns out that Actionscript silently turns an empty POST into a GET. Sorry about that. It looks like I can't do an empty POST from AS3, so I'll stick with my other hack. -----Original Message----- From: developers-bounces at freebase.com [mailto:developers-bounces at freebase.com] On Behalf Of Ben Drees Sent: Friday, January 04, 2008 1:49 PM To: developers at freebase.com Subject: Re: [Developers] sandbox caching old values, slow expiration? Hi Arthur, The logs seem to indicate that those 405s are being generated in response to HTTP GETs. The "refresh cache" functionality is currently defined only for an empty POST to /api/service/mqlwrite. Can you double check that your code is POSTing? -Ben Arthur van Hoff wrote: > Hi, > > I tried doing an empty HTTP POST to /api/service/mqlwrite, but I get an > HTTP 405 error, and the cache is not refreshed. What exactly is the > recommended method for resetting the cache? > > Right now I am doing a "harmless" write, which seems to work, but it is > kinda ugly. i.e write this: > > "query": { > "id":"/topic/en/kqed" > } > > -----Original Message----- > > > Here's some quoted text from the reply I got: > >> ... >> If you really, really, need to refresh this cookie to get new data, >> > you > >> should do an empty HTTP POST to /api/service/mqlwrite. I encourage you >> to do this sparingly - this is not a generally supported mechanism >> > yet, > >> but it should continue to work for the near future. >> > > _______________________________________________ Developers mailing list Developers at freebase.com http://lists.freebase.com/mailman/listinfo/developers From kurt at metaweb.com Sat Jan 5 03:08:22 2008 From: kurt at metaweb.com (Kurt Bollacker) Date: Sat, 5 Jan 2008 03:08:22 +0000 Subject: [Developers] How do I find symmetric properties? Message-ID: <20080105030822.GB20712@metaweb.com> How can I discover with some combination of MQL queries and programmatic post-processing the list of all symmetric properties are in Freebase? Examples of such properties include: /location/location/adjoin_s /people/person/spouce /people/person/siblings Perhaps there is some schema attribute that indicates symmetry? Kurt :-) From corallink at gmail.com Sat Jan 5 22:47:34 2008 From: corallink at gmail.com (Coral Link) Date: Sat, 5 Jan 2008 14:47:34 -0800 Subject: [Developers] How do you ask MQL to get a count of the number of available results? Message-ID: <7110c7dc0801051447q1e9b8ff8kccc9b6edc83dff1c@mail.gmail.com> Hi, we're trying to ask freebase how many topics of a particular type exist. Below is what we tried, but it doesn't work - is this even available? { "query" : [ { "count" : null, "type" : "/user/corallink/default_domain/underwater_location" } ] } The workaround would be be to query and then count on the client side, but that can potentially be wasteful from a bandwidth point of view. Thanks, Indy -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freebase.com/pipermail/developers/attachments/20080105/22b13c7b/attachment.htm From willmoffat at metaweb.com Sat Jan 5 22:57:07 2008 From: willmoffat at metaweb.com (Will Moffat) Date: Sat, 5 Jan 2008 17:57:07 -0500 Subject: [Developers] How do you ask MQL to get a count of the number of available results? In-Reply-To: <7110c7dc0801051447q1e9b8ff8kccc9b6edc83dff1c@mail.gmail.com> References: <7110c7dc0801051447q1e9b8ff8kccc9b6edc83dff1c@mail.gmail.com> Message-ID: <006DF552-0716-4A29-AECE-5023B106C614@metaweb.com> Hi Indy, > Hi, we're trying to ask freebase how many topics of a particular > type exist. Below is what we tried, but it doesn't work - is this > even available? The (undocumented) syntax is "return":"count" So this is what you're looking for: { "query" : [ { "return" : "count", "type" : "/user/corallink/default_domain/underwater_location" } ] } regards, --Will From chris at eppsteins.net Sun Jan 6 01:10:43 2008 From: chris at eppsteins.net (Chris Eppstein) Date: Sat, 5 Jan 2008 17:10:43 -0800 Subject: [Developers] How do you ask MQL to get a count of the number of available results? In-Reply-To: <006DF552-0716-4A29-AECE-5023B106C614@metaweb.com> References: <7110c7dc0801051447q1e9b8ff8kccc9b6edc83dff1c@mail.gmail.com> <006DF552-0716-4A29-AECE-5023B106C614@metaweb.com> Message-ID: Will that return the number returned or the total that exist when using a limit query? On Jan 5, 2008, at 2:57 PM, Will Moffat wrote: > Hi Indy, > >> Hi, we're trying to ask freebase how many topics of a particular >> type exist. Below is what we tried, but it doesn't work - is this >> even available? > > The (undocumented) syntax is "return":"count" > > So this is what you're looking for: > { > "query" : [ > { > "return" : "count", > "type" : "/user/corallink/default_domain/underwater_location" > } > ] > } > > regards, > --Will > > _______________________________________________ > Developers mailing list > Developers at freebase.com > http://lists.freebase.com/mailman/listinfo/developers From corallink at gmail.com Sun Jan 6 11:40:12 2008 From: corallink at gmail.com (Coral Link) Date: Sun, 6 Jan 2008 03:40:12 -0800 Subject: [Developers] Problems uploading images In-Reply-To: <7110c7dc0712300205v79242404kedefed5342da8915@mail.gmail.com> References: <7110c7dc0712300205v79242404kedefed5342da8915@mail.gmail.com> Message-ID: <7110c7dc0801060340u78ea6628xf2cde0d788f6db27@mail.gmail.com> Hello FreeBDevs: So we finally got over the hump here; we fired up 'tcpflow' (awesome network diagnostic tool, by the way, easier than tcpdump) to monitor the exchange between the local system and freebase. -The Broken- Freebase's 'raw' upload url (sandbox.freebase.com/api/service/upload) only accepts 'POST' requests but doesn't know how to deal with multipart/form-data as a content type. PHP/libcurl defaults its POST to Content-Type: multipart/form-data, and embeds the image inside of that multipart envelope. Below is the tcpflow output with the broken code, minus some extraneous stuff (192.168.0.150 is the local system, 208.068.108.121 is sandbox.freebase.com): 192.168.000.150.46220-208.068.108.121.00080: POST /api/service/upload HTTP/1.1 Content-Type: image/gif Content-Length: 13365 Content-Length: 13555 Expect: 100-continue 192.168.000.150.46220-208.068.108.121.00080: Content-Type: multipart/form-data; boundary=----------------------------b8245f93a0cb ------------------------------b8245f93a0cb Content-Disposition: form-data; name="filename"; filename="CORAL.gif" Content-Type: image/gif 192.168.000.150.46220-208.068.108.121.00080: GIF89a+.........).X.T.r....-.w.\.r....1{..d>3o;..5wV.l~3..,g.....; 192.168.000.150.46220-208.068.108.121.00080: ------------------------------b8245f93a0cb-- 208.068.108.121.00080-192.168.000.150.46220: HTTP/1.0 400 Bad Request ***This lead to the cryptic "cannot identify image file" response from the freebase server.*** -The Fix- Straightforward, but there are no examples of this I could find in Google to use CURLOPT_READDATA instead of CURLOPT_POSTFIELDS: Replace one line: curl_setopt($request, CURLOPT_POSTFIELDS,$content); With these two lines, dropping the @ from the front of the file name: $fp = fopen ($content, "r"); curl_setopt($request, CURLOPT_READDATA, $fp); -The New- The working interaction is as follows, note there is no mention of multiparts: 192.168.000.150.59161-208.068.108.121.00080: POST /api/service/upload HTTP/1.1 Content-Type: image/gif Content-Length: 13365 Expect: 100-continue 192.168.000.150.59161-208.068.108.121.00080: GIF89a+............,. \.r....1{..d>3o;..5wV.l~3..,g.....; 208.068.108.121.00080-192.168.000.150.59161: HTTP/1.0 200 OK Hope this leads to less pulled out hair for someone. Regards, Indy On Dec 30, 2007 2:05 AM, Coral Link wrote: > Hi; I'm using PHP/LibCURL to upload images relevant to my topics. I'm > guessing its more of a PHP issue than Freebase, but hopefully someone will > indulge a helping hand. > > I'm running into this problem when uploading an image: > > { "status": "400 Application Error", "code": "/api/status/error", > "messages": [ { "info": { "exception": "cannot identify image file" }, > "message": "Invalid image file.", "code": > "/api/status/error/upload/invalid_image_data" } ] } > > When I run the following: > > $content="@/hole/www/corallink.com/freebase/files/uwlImage/9202a8c04000641f80000000060b61a7/CORAL.gif"; > $type="image/gif"; > > $request = curl_init($url); > curl_setopt($request, CURLOPT_COOKIEFILE, $cookiejarfile); //get some > cookies > curl_setopt($request, CURLOPT_POST, 1); > curl_setopt($request, CURLOPT_HTTPHEADER, array("X-Metaweb-Request: TRUE", > "Content-Type: ".$type)); > curl_setopt($request, CURLOPT_POSTFIELDS,$content); > > // Return the result instead of printing it out. > curl_setopt($request, CURLOPT_RETURNTRANSFER, TRUE); > curl_setopt($request, CURLOPT_COOKIE, $credentials); > > // Now fetch the URL > $responsetext = curl_exec($request); > curl_close($request); > > > This same code works great for uploading documents for the description in > /common/topic. I've tried variations where I've made > $content=array("file"=>"@ filename.gif"), which uploaded data, but > Freebase tagged it as media_type 'octet/stream'. Any suggestions will be > appreciated. > > Thank you and kind regards, > Indy > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freebase.com/pipermail/developers/attachments/20080106/a9159e4c/attachment-0001.htm From ksrinivs at gmail.com Mon Jan 7 02:50:46 2008 From: ksrinivs at gmail.com (Kavitha Srinivas) Date: Sun, 6 Jan 2008 21:50:46 -0500 Subject: [Developers] Modeling question Message-ID: For companies, is there any interest in linking companies to their major products (e.g., Pfizer to its key pharma products) as listed in Wikipedia? I don't mind adding it, but there is no appropriate slot to add it. Key products seems to be important information for a company. Thanks! Kavitha From duck at kronkltd.net Mon Jan 7 03:05:03 2008 From: duck at kronkltd.net (Daniel E. Renfer) Date: Sun, 06 Jan 2008 22:05:03 -0500 Subject: [Developers] Modeling question In-Reply-To: References: Message-ID: <478196DF.5090304@kronkltd.net> It would probably make sense to have some sort of "products producer" co-type. The producers would have a "products produced" link to the "producer" field of the corresponding "product" type. Not every company produces products, and there are some products that are produced by groups other than companies. Other than that, it sounds like great information to track. Kavitha Srinivas wrote: > For companies, is there any interest in linking companies to their > major products (e.g., Pfizer to its key pharma products) as listed in > Wikipedia? I don't mind adding it, but there is no appropriate slot > to add it. > Key products seems to be important information for a company. > Thanks! > Kavitha > _______________________________________________ > Developers mailing list > Developers at freebase.com > http://lists.freebase.com/mailman/listinfo/developers -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 250 bytes Desc: OpenPGP digital signature Url : http://lists.freebase.com/pipermail/developers/attachments/20080106/732a9d89/attachment.pgp From narphorium at gmail.com Mon Jan 7 03:26:43 2008 From: narphorium at gmail.com (Shawn Simister) Date: Sun, 06 Jan 2008 22:26:43 -0500 Subject: [Developers] Modeling question In-Reply-To: <478196DF.5090304@kronkltd.net> References: <478196DF.5090304@kronkltd.net> Message-ID: <47819BF3.4050409@gmail.com> An HTML attachment was scrubbed... URL: http://lists.freebase.com/pipermail/developers/attachments/20080106/34bd91c6/attachment.htm From spatial.db at gmail.com Mon Jan 7 03:27:57 2008 From: spatial.db at gmail.com (Ed Laurent) Date: Sun, 6 Jan 2008 22:27:57 -0500 Subject: [Developers] Modeling question In-Reply-To: <478196DF.5090304@kronkltd.net> References: <478196DF.5090304@kronkltd.net> Message-ID: <80b889990801061927y1b3d5c00h4423f3c506cfef6a@mail.gmail.com> The "Products producer" type with a "Products produced" property sounds pretty good to me. The "Product" type a little less so. Would every tangible topic (including people) need to be typed as a product? What defines a product that separates it from other tangible topics? I agree that this kind of type could be very useful and there should be reciprocation between product and producer but I'm not excited about this approach to doing it. -Ed P.S. This conversation is probably more relevant to the Data Modeling list so I'm cc'ing it. On Jan 6, 2008 10:05 PM, Daniel E. Renfer wrote: > It would probably make sense to have some sort of "products producer" > co-type. The producers would have a "products produced" link to the > "producer" field of the corresponding "product" type. > > Not every company produces products, and there are some products that > are produced by groups other than companies. > > Other than that, it sounds like great information to track. > > Kavitha Srinivas wrote: > > For companies, is there any interest in linking companies to their > > major products (e.g., Pfizer to its key pharma products) as listed in > > Wikipedia? I don't mind adding it, but there is no appropriate slot > > to add it. > > Key products seems to be important information for a company. > > Thanks! > > Kavitha > > _______________________________________________ > > 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 > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freebase.com/pipermail/developers/attachments/20080106/c757ea16/attachment.htm From duck at kronkltd.net Mon Jan 7 05:15:30 2008 From: duck at kronkltd.net (Daniel E. Renfer) Date: Mon, 07 Jan 2008 00:15:30 -0500 Subject: [Developers] Modeling question In-Reply-To: <80b889990801061927y1b3d5c00h4423f3c506cfef6a@mail.gmail.com> References: <478196DF.5090304@kronkltd.net> <80b889990801061927y1b3d5c00h4423f3c506cfef6a@mail.gmail.com> Message-ID: <4781B572.2090209@kronkltd.net> The products type, I assume, would have other information that you would need for your standard sold product. UPC, weight/volume, possibly some cost data, etc. A person wouldn't be considered a product because in most parts of the world, humans aren't sold in stores. If not a product type, what type would you slip the product producer property into? Ed Laurent wrote: > The "Products producer" type with a "Products produced" property sounds > pretty good to me. The "Product" type a little less so. Would every > tangible topic (including people) need to be typed as a product? What > defines a product that separates it from other tangible topics? I agree > that this kind of type could be very useful and there should be > reciprocation between product and producer but I'm not excited about > this approach to doing it. > > -Ed > > P.S. This conversation is probably more relevant to the Data Modeling > list so I'm cc'ing it. > > > On Jan 6, 2008 10:05 PM, Daniel E. Renfer < duck at kronkltd.net > > wrote: > > It would probably make sense to have some sort of "products producer" > co-type. The producers would have a "products produced" link to the > "producer" field of the corresponding "product" type. > > Not every company produces products, and there are some products that > are produced by groups other than companies. > > Other than that, it sounds like great information to track. > > Kavitha Srinivas wrote: > > For companies, is there any interest in linking companies to their > > major products (e.g., Pfizer to its key pharma products) as listed in > > Wikipedia? I don't mind adding it, but there is no appropriate slot > > to add it. > > Key products seems to be important information for a company. > > Thanks! > > Kavitha > > _______________________________________________ > > 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 > > > > ------------------------------------------------------------------------ > > _______________________________________________ > Developers mailing list > Developers at freebase.com > http://lists.freebase.com/mailman/listinfo/developers -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 250 bytes Desc: OpenPGP digital signature Url : http://lists.freebase.com/pipermail/developers/attachments/20080107/9538cc40/attachment.pgp From ksrinivs at gmail.com Mon Jan 7 14:18:36 2008 From: ksrinivs at gmail.com (Kavitha Srinivas) Date: Mon, 7 Jan 2008 09:18:36 -0500 Subject: [Developers] Modeling question In-Reply-To: <47819BF3.4050409@gmail.com> References: <478196DF.5090304@kronkltd.net> <47819BF3.4050409@gmail.com> Message-ID: <49D2B4CE-98D3-4E7A-B851-10757F8EEFBB@gmail.com> Shawn, That's a great idea. And I agree with Dan that products produced is an optional property, but capturing those key products would be terrific, especially if they are already available from the UPC Creative Commons data. Kavitha On Jan 6, 2008, at 10:26 PM, Shawn Simister wrote: > There is a lot of Creative Commons data available about the > relationships between products and manufacturers available from the > UPC Database. It could take a while to merge all that data but I > think it could be quite useful. > > Shawn > > Daniel E. Renfer wrote: >> >> It would probably make sense to have some sort of "products >> producer" co-type. The producers would have a "products produced" >> link to the "producer" field of the corresponding "product" type. >> >> Not every company produces products, and there are some products >> that are produced by groups other than companies. >> >> Other than that, it sounds like great information to track. >> >> Kavitha Srinivas wrote: >>> For companies, is there any interest in linking companies to >>> their major products (e.g., Pfizer to its key pharma products) >>> as listed in Wikipedia? I don't mind adding it, but there is no >>> appropriate slot to add it. >>> Key products seems to be important information for a company. >>> Thanks! >>> Kavitha >>> _______________________________________________ >>> 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 >> > > _______________________________________________ > Developers mailing list > Developers at freebase.com > http://lists.freebase.com/mailman/listinfo/developers -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freebase.com/pipermail/developers/attachments/20080107/3c370b0b/attachment.htm From ksrinivs at gmail.com Mon Jan 7 14:38:33 2008 From: ksrinivs at gmail.com (Kavitha Srinivas) Date: Mon, 7 Jan 2008 09:38:33 -0500 Subject: [Developers] Modeling question In-Reply-To: <47819BF3.4050409@gmail.com> References: <478196DF.5090304@kronkltd.net> <47819BF3.4050409@gmail.com> Message-ID: <42450ACE-8533-48AD-919E-D74CDFEBA484@gmail.com> I looked at the UPC database site some more, and (unfortunately) it doesn't seem to have a lot of the manufacturer data filled in. I went to GS1 US site, but it didn't look like that data was available there either? Does anyone know where this information might be available under the Creative Commons license? Thanks! Kavitha On Jan 6, 2008, at 10:26 PM, Shawn Simister wrote: > There is a lot of Creative Commons data available about the > relationships between products and manufacturers available from the > UPC Database. It could take a while to merge all that data but I > think it could be quite useful. > > Shawn > > Daniel E. Renfer wrote: >> >> It would probably make sense to have some sort of "products >> producer" co-type. The producers would have a "products produced" >> link to the "producer" field of the corresponding "product" type. >> >> Not every company produces products, and there are some products >> that are produced by groups other than companies. >> >> Other than that, it sounds like great information to track. >> >> Kavitha Srinivas wrote: >>> For companies, is there any interest in linking companies to >>> their major products (e.g., Pfizer to its key pharma products) >>> as listed in Wikipedia? I don't mind adding it, but there is no >>> appropriate slot to add it. >>> Key products seems to be important information for a company. >>> Thanks! >>> Kavitha >>> _______________________________________________ >>> 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 >> > > _______________________________________________ > Developers mailing list > Developers at freebase.com > http://lists.freebase.com/mailman/listinfo/developers -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freebase.com/pipermail/developers/attachments/20080107/8ce4e869/attachment-0001.htm From spatial.db at gmail.com Mon Jan 7 18:04:53 2008 From: spatial.db at gmail.com (Ed Laurent) Date: Mon, 7 Jan 2008 13:04:53 -0500 Subject: [Developers] Modeling question In-Reply-To: <42450ACE-8533-48AD-919E-D74CDFEBA484@gmail.com> References: <478196DF.5090304@kronkltd.net> <47819BF3.4050409@gmail.com> <42450ACE-8533-48AD-919E-D74CDFEBA484@gmail.com> Message-ID: <80b889990801071004k741de087v71a54392faa163fe@mail.gmail.com> We hijacked this thread over to the data modelers list last night. There were a couple different strings so it's difficult to paste them all here but they are available in the archives: http://lists.freebase.com/pipermail/data-modeling/ -Ed On Jan 7, 2008 9:38 AM, Kavitha Srinivas wrote: > I looked at the UPC database site some more, and (unfortunately) it > doesn't seem to have a lot of the manufacturer data filled in. I went to > GS1 US site, but it didn't look like that data was available there either? > Does anyone know where this information might be available under the > Creative Commons license? Thanks! > Kavitha > > On Jan 6, 2008, at 10:26 PM, Shawn Simister wrote: > > There is a lot of Creative Commons data available about the relationships > between products and manufacturers available from the UPC Database. > It could take a while to merge all that data but I think it could be quite > useful. > > Shawn > > Daniel E. Renfer wrote: > > It would probably make sense to have some sort of "products producer" > co-type. The producers would have a "products produced" link to the > "producer" field of the corresponding "product" type. > > Not every company produces products, and there are some products that are > produced by groups other than companies. > > Other than that, it sounds like great information to track. > > Kavitha Srinivas wrote: > > For companies, is there any interest in linking companies to their major > products (e.g., Pfizer to its key pharma products) as listed in > Wikipedia? I don't mind adding it, but there is no appropriate slot to add > it. > Key products seems to be important information for a company. > Thanks! > Kavitha > _______________________________________________ > Developers mailing list > Developers at freebase.com > http://lists.freebase.com/mailman/listinfo/developers > > > ------------------------------ > _______________________________________________ > Developers mailing listDevelopers at freebase.comhttp://lists.freebase.com/mailman/listinfo/developers > > > _______________________________________________ > 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 > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freebase.com/pipermail/developers/attachments/20080107/0601025a/attachment.htm From alecf at metaweb.com Mon Jan 7 20:03:45 2008 From: alecf at metaweb.com (Alec Flett) Date: Mon, 07 Jan 2008 12:03:45 -0800 Subject: [Developers] How do I find symmetric properties? In-Reply-To: <20080105030822.GB20712@metaweb.com> References: <20080105030822.GB20712@metaweb.com> Message-ID: <478285A1.9010808@metaweb.com> I think it looks like this: a property's expected type has to be a CVT (/freebase/type_hints/mediator) and the reverse of that property has to be non-unique. Alec Kurt Bollacker wrote: > How can I discover with some combination of MQL queries and > programmatic post-processing the list of all symmetric properties are > in Freebase? Examples of such properties include: > > /location/location/adjoin_s > /people/person/spouce > /people/person/siblings > > Perhaps there is some schema attribute that indicates symmetry? > > Kurt :-) > > > > _______________________________________________ > Developers mailing list > Developers at freebase.com > http://lists.freebase.com/mailman/listinfo/developers > From aseem at metaweb.com Mon Jan 7 21:11:07 2008 From: aseem at metaweb.com (Aseem Mohanty) Date: Mon, 07 Jan 2008 13:11:07 -0800 Subject: [Developers] Problems uploading images In-Reply-To: <7110c7dc0801060340u78ea6628xf2cde0d788f6db27@mail.gmail.com> References: <7110c7dc0712300205v79242404kedefed5342da8915@mail.gmail.com> <7110c7dc0801060340u78ea6628xf2cde0d788f6db27@mail.gmail.com> Message-ID: <4782956B.2080501@metaweb.com> Hi Indy. The raw_upload service behaves exactly as you described. If you want to use a form based POST to upload files, you can use the form_upload service which will process a CURLOPT_POSTFIELDS request properly. The raw upload service expects the data to be in the body of the POST. We are currently working on getting a more comprehensive set of documents on freebase describing the services available to developers. It should be up in the Freebase help section shortly. Thanks. AM Coral Link wrote: > Hello FreeBDevs: > > So we finally got over the hump here; we fired up 'tcpflow' (awesome network > diagnostic tool, by the way, easier than tcpdump) to monitor the exchange > between the local system and freebase. > > -The Broken- > Freebase's 'raw' upload url (sandbox.freebase.com/api/service/upload) only > accepts 'POST' requests but doesn't know how to deal with > multipart/form-data as a content type. PHP/libcurl defaults its POST to > Content-Type: multipart/form-data, and embeds the image inside of that > multipart envelope. Below is the tcpflow output with the broken code, minus > some extraneous stuff (192.168.0.150 is the local system, 208.068.108.121 is > sandbox.freebase.com): > > 192.168.000.150.46220-208.068.108.121.00080: POST /api/service/upload > HTTP/1.1 > Content-Type: image/gif > Content-Length: 13365 > Content-Length: 13555 > Expect: 100-continue > > 192.168.000.150.46220-208.068.108.121.00080: Content-Type: > multipart/form-data; boundary=----------------------------b8245f93a0cb > ------------------------------b8245f93a0cb > Content-Disposition: form-data; name="filename"; filename="CORAL.gif" > Content-Type: image/gif > > > 192.168.000.150.46220-208.068.108.121.00080: > GIF89a+.........).X.T.r....-.w.\.r....1{..d>3o;..5wV.l~3..,g.....; Data Here> > 192.168.000.150.46220-208.068.108.121.00080: > ------------------------------b8245f93a0cb-- > > 208.068.108.121.00080-192.168.000.150.46220: HTTP/1.0 400 Bad Request > > > ***This lead to the cryptic "cannot identify image file" response from the > freebase server.*** > > > -The Fix- > Straightforward, but there are no examples of this I could find in Google to > use CURLOPT_READDATA instead of CURLOPT_POSTFIELDS: > > Replace one line: > curl_setopt($request, CURLOPT_POSTFIELDS,$content); > > With these two lines, dropping the @ from the front of the file name: > $fp = fopen ($content, "r"); > curl_setopt($request, CURLOPT_READDATA, $fp); > > > -The New- > The working interaction is as follows, note there is no mention of > multiparts: > > 192.168.000.150.59161-208.068.108.121.00080: POST /api/service/upload > HTTP/1.1 > Content-Type: image/gif > Content-Length: 13365 > Expect: 100-continue > > > 192.168.000.150.59161-208.068.108.121.00080: GIF89a+............,. Data Here> > \.r....1{..d>3o;..5wV.l~3..,g.....; > 208.068.108.121.00080-192.168.000.150.59161: HTTP/1.0 200 OK > > > Hope this leads to less pulled out hair for someone. > > Regards, > Indy > > > On Dec 30, 2007 2:05 AM, Coral Link wrote: > >> Hi; I'm using PHP/LibCURL to upload images relevant to my topics. I'm >> guessing its more of a PHP issue than Freebase, but hopefully someone will >> indulge a helping hand. >> >> I'm running into this problem when uploading an image: >> >> { "status": "400 Application Error", "code": "/api/status/error", >> "messages": [ { "info": { "exception": "cannot identify image file" }, >> "message": "Invalid image file.", "code": >> "/api/status/error/upload/invalid_image_data" } ] } >> >> When I run the following: >> >> $content="@/hole/www/corallink.com/freebase/files/uwlImage/9202a8c04000641f80000000060b61a7/CORAL.gif"; >> $type="image/gif"; >> >> $request = curl_init($url); >> curl_setopt($request, CURLOPT_COOKIEFILE, $cookiejarfile); //get some >> cookies >> curl_setopt($request, CURLOPT_POST, 1); >> curl_setopt($request, CURLOPT_HTTPHEADER, array("X-Metaweb-Request: TRUE", >> "Content-Type: ".$type)); >> curl_setopt($request, CURLOPT_POSTFIELDS,$content); >> >> // Return the result instead of printing it out. >> curl_setopt($request, CURLOPT_RETURNTRANSFER, TRUE); >> curl_setopt($request, CURLOPT_COOKIE, $credentials); >> >> // Now fetch the URL >> $responsetext = curl_exec($request); >> curl_close($request); >> >> >> This same code works great for uploading documents for the description in >> /common/topic. I've tried variations where I've made >> $content=array("file"=>"@ filename.gif"), which uploaded data, but >> Freebase tagged it as media_type 'octet/stream'. Any suggestions will be >> appreciated. >> >> Thank you and kind regards, >> Indy >> > > > ------------------------------------------------------------------------ > > _______________________________________________ > Developers mailing list > Developers at freebase.com > http://lists.freebase.com/mailman/listinfo/developers From jeff at metaweb.com Tue Jan 8 19:13:18 2008 From: jeff at metaweb.com (Jeff Prucher) Date: Tue, 8 Jan 2008 11:13:18 -0800 Subject: [Developers] How do I find symmetric properties? In-Reply-To: <478285A1.9010808@metaweb.com> References: <20080105030822.GB20712@metaweb.com> <478285A1.9010808@metaweb.com> Message-ID: <009501c8522a$8741ce40$67fa1eac@amd> I think Alec's right, except that the master property has to be unique, not the reverse. That is to say, the property's expected type must be a CVT, and the CVT most hold the master property, which must be non-unique. (If the non-CVT type has the master property, the relationship will not be symmetric.) That said, the truth is more complicated. For example the property, /award/award_honor/award_winner meets these qualifications. Arguably, it is symmetric in that it indicates that, for example, Al Gore and the Intergovernmental Panel on Climate Change are co-award winners (of the 2007 Nobel Peace Prize), but this is not necessarily what you might usually think of as a symmetric property. Jeff > -----Original Message----- > From: developers-bounces at freebase.com > [mailto:developers-bounces at freebase.com] On Behalf Of Alec Flett > Sent: Monday, January 07, 2008 12:04 PM > To: For discussions about MQL,Freebase API and apps built on Freebase > Subject: Re: [Developers] How do I find symmetric properties? > > I think it looks like this: a property's expected type has to be a CVT > (/freebase/type_hints/mediator) and the reverse of that > property has to be non-unique. > > Alec > > Kurt Bollacker wrote: > > How can I discover with some combination of MQL queries and > > programmatic post-processing the list of all symmetric > properties are > > in Freebase? Examples of such properties include: > > > > /location/location/adjoin_s > > /people/person/spouce > > /people/person/siblings > > > > Perhaps there is some schema attribute that indicates symmetry? > > > > Kurt :-) > > > > > > > > _______________________________________________ > > 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 > From jg at metaweb.com Tue Jan 8 19:47:38 2008 From: jg at metaweb.com (John Giannandrea) Date: Tue, 8 Jan 2008 11:47:38 -0800 Subject: [Developers] How do you ask MQL to get a count of the number of available results? In-Reply-To: References: <7110c7dc0801051447q1e9b8ff8kccc9b6edc83dff1c@mail.gmail.com> <006DF552-0716-4A29-AECE-5023B106C614@metaweb.com> Message-ID: Chris Eppstein wrote: > Will that return the number returned or the total that exist when > using a limit query? if you include a limit, it will return anything up to that number, for example: "query" : { "limit" : 50000, "return" : "count", "type" : "/film/film" } If there is no limit, limit:0 is assumed. For public types, sometimes the instance count is too large to enumerate quickly and there is a type hint for these which is updated daily. "query" : { "/freebase/type_profile/instance_count" : null, "id" : "/people/person" } -jg From lauragioia66 at mac.com Thu Jan 10 18:44:25 2008 From: lauragioia66 at mac.com (Laura Gioia) Date: Thu, 10 Jan 2008 20:44:25 +0200 Subject: [Developers] wish to subscribe Message-ID: <3D1C53EF-A2F3-4D43-BA2A-C641E7487711@mac.com> hello, I would like to subscribe to Freebase Regards Laura Gioia From gordon at metaweb.com Thu Jan 10 18:50:52 2008 From: gordon at metaweb.com (Gordon Mackenzie) Date: Thu, 10 Jan 2008 10:50:52 -0800 Subject: [Developers] wish to subscribe In-Reply-To: <3D1C53EF-A2F3-4D43-BA2A-C641E7487711@mac.com> References: <3D1C53EF-A2F3-4D43-BA2A-C641E7487711@mac.com> Message-ID: <6F90E643-4AAA-4694-B847-43388BF95634@metaweb.com> Actually, you need to follow the middle section to subscribe to the list, enter your email address there in the "Subscribing to Developers" http://lists.freebase.com/mailman/listinfo/developers ~ Gordon <<< gordon at metaweb.com >>> On Jan 10, 2008, at 10:44 AM, Laura Gioia wrote: > listinfo -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freebase.com/pipermail/developers/attachments/20080110/588bf459/attachment-0001.htm From max at powerset.com Fri Jan 11 04:35:38 2008 From: max at powerset.com (Max Lansing) Date: Thu, 10 Jan 2008 20:35:38 -0800 Subject: [Developers] Wikipedia key string encoding Message-ID: Hello, Is there any documentation regarding the type of string encoding used for wikipedia keys in freebase records? Specifically, I'm wondering about the encoding used to represent non-alphanumeric characters in the 'key' attribute, where namespace is /wikpedia/en. I suspect it's something simple, but I couldn't find the relevant info in the developer docs, so I figured I'd ask before diving into trial and error attempts. Thanks, Max @ powerset From jg at metaweb.com Fri Jan 11 04:49:28 2008 From: jg at metaweb.com (John Giannandrea) Date: Thu, 10 Jan 2008 20:49:28 -0800 Subject: [Developers] Wikipedia key string encoding In-Reply-To: References: Message-ID: <53C7D806-3954-4958-8201-D118245E4210@metaweb.com> Max Lansing wrote: > Is there any documentation regarding the type of string encoding > used for > wikipedia keys in freebase records? yes, the key encoding is documented in section 2.2.6. of the MQL manual. http://www.freebase.com/view/9202a8c04000641f800000000544e143#id2609910 -jg From AVH at zing.net Fri Jan 11 19:29:47 2008 From: AVH at zing.net (Arthur van Hoff) Date: Fri, 11 Jan 2008 11:29:47 -0800 Subject: [Developers] "unsubscriptable object" Message-ID: Hi, We are getting an "unsubscriptable object" error when submitting a query to the sandbox (it works fine on the live data base). Any suggestions what this means? Here is the query: { "/common/topic/image" : [ { "guid" : null, "id" : null, "link" : { "timestamp" : null, "timestamp<=" : "2008-01-09T21:40:15.0000Z", "valid" : null }, "name" : null, "optional" : true } ], "/common/topic/webpage" : [ { "description" : [ { "lang" : "/lang/en", "link" : { "timestamp" : null, "timestamp<=" : "2008-01-09T21:40:15.0000Z", "valid" : null }, "optional" : true, "value" : null } ], "link" : { "timestamp" : null, "timestamp<=" : "2008-01-09T21:40:15.0000Z", "valid" : null }, "optional" : true, "uri" : [ { "link" : { "timestamp" : null, "timestamp<=" : "2008-01-09T21:40:15.0000Z", "valid" : null }, "optional" : true, "value" : null } ] } ], "/user/cotton/default_domain/broadcast/areas_served" : [ { "guid" : null, "id" : null, "link" : { "timestamp" : null, "timestamp<=" : "2008-01-09T21:40:15.0000Z", "valid" : null }, "name" : null, "optional" : true } ], "/user/cotton/default_domain/broadcast/artists_played" : [ { "guid" : null, "id" : null, "link" : { "timestamp" : null, "timestamp<=" : "2008-01-09T21:40:15.0000Z", "valid" : null }, "name" : null, "optional" : true } ], "/user/cotton/default_domain/broadcast/broadcast_advisory" : [ { "guid" : null, "id" : null, "link" : { "timestamp" : null, "timestamp<=" : "2008-01-09T21:40:15.0000Z", "valid" : null }, "name" : null, "optional" : true } ], "/user/cotton/default_domain/broadcast/genre" : [ { "guid" : null, "id" : null, "link" : { "timestamp" : null, "timestamp<=" : "2008-01-09T21:40:15.0000Z", "valid" : null }, "name" : null, "optional" : true } ], "/user/cotton/default_domain/broadcast/summary" : [ { "lang" : "/lang/en", "link" : { "timestamp" : null, "timestamp<=" : "2008-01-09T21:40:15.0000Z", "valid" : null }, "optional" : true, "value" : null } ], "/user/cotton/default_domain/internet_station/internet_streams" : [ { "link" : { "timestamp" : null, "timestamp<=" : "2008-01-09T21:40:15.0000Z", "valid" : null }, "optional" : true, "playlist_format" : [ { "guid" : null, "id" : null, "link" : { "timestamp" : null, "timestamp<=" : "2008-01-09T21:40:15.0000Z", "valid" : null }, "name" : null, "optional" : true } ], "stream_bitrate" : [ { "link" : { "timestamp" : null, "timestamp<=" : "2008-01-09T21:40:15.0000Z", "valid" : null }, "optional" : true, "value" : null } ], "stream_format" : [ { "guid" : null, "id" : null, "link" : { "timestamp" : null, "timestamp<=" : "2008-01-09T21:40:15.0000Z", "valid" : null }, "name" : null, "optional" : true } ], "uri" : [ { "link" : { "timestamp" : null, "timestamp<=" : "2008-01-09T21:40:15.0000Z", "valid" : null }, "optional" : true, "value" : null } ] } ], "guid" : "#9202a8c04000641f8000000005fdf590", "id" : null, "name" : [ { "lang" : "/lang/en", "link" : { "timestamp" : null, "timestamp<=" : "2008-01-09T21:40:15.0000Z", "valid" : null }, "optional" : true, "value" : null } ], "type" : "/user/cotton/default_domain/internet_station" } Trace sandbox.freebase.com: POST /api/service/mqlread HTTP/1.1 Referer: app:/Freebase.swf Accept: text/xml, application/xml, application/xhtml+xml, text/html;q=0.9, text/plain;q=0.8, text/css, image/png, image/jpeg, image/gif;q=0.8, application/x-shockwave-flash, video/mp4;q=0.9, flv-application/octet-stream;q=0.8, video/x-flv;q=0.7, audio/mp4, application/futuresplash, */*;q=0.5 x-flash-version: 9,0,99,0 Content-Type: application/x-www-form-urlencoded Content-Length: 3827 User-Agent: Mozilla/5.0 (Windows; U; en) AppleWebKit/420+ (KHTML, like Gecko) AdobeAIR/1.0 Host: sandbox.freebase.com Connection: Keep-Alive Cookie: __utma=191567400.278751241.1197589891.1198042621.1198133327.4; __utmz=191567400.1197589891.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=( none); metaweb-user="A|u_avh|g_#9202a8c04000641f80000000042b3876|4.WF06h7rVjqT+ rRW/hryP1A"; metaweb-user-info=A|p_%2Fuser%2Favh|u_avh|g_#9202a8c04000641f80000000042 b3876|0.; __utma=118736350.1859247523.1197589563.1198476648.1198537389.11; __utmz=118736350.1197589563.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=( none) query=%7B%22escape%22%3Afalse%2C%22query%22%3A%7B%22/user/cotton/default _domain/broadcast/artists_played%22%3A%5B%7B%22guid%22%3Anull%2C%22id%22 %3Anull%2C%22optional%22%3Atrue%2C%22link%22%3A%7B%22timestamp%22%3Anull %2C%22timestamp%3C%3D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22vali d%22%3Anull%7D%2C%22name%22%3Anull%7D%5D%2C%22guid%22%3A%22%239202a8c040 00641f8000000005fdf590%22%2C%22/user/cotton/default_domain/broadcast/sum mary%22%3A%5B%7B%22lang%22%3A%22/lang/en%22%2C%22optional%22%3Atrue%2C%2 2value%22%3Anull%2C%22link%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp %3C%3D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D% 7D%5D%2C%22/common/topic/webpage%22%3A%5B%7B%22optional%22%3Atrue%2C%22u ri%22%3A%5B%7B%22link%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp%3C%3 D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D%2C%22 optional%22%3Atrue%2C%22value%22%3Anull%7D%5D%2C%22description%22%3A%5B% 7B%22lang%22%3A%22/lang/en%22%2C%22optional%22%3Atrue%2C%22value%22%3Anu ll%2C%22link%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp%3C%3D%22%3A%2 22008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D%7D%5D%2C%22lin k%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp%3C%3D%22%3A%222008-01-09 T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D%7D%5D%2C%22/user/cotton/d efault_domain/broadcast/genre%22%3A%5B%7B%22guid%22%3Anull%2C%22id%22%3A null%2C%22optional%22%3Atrue%2C%22link%22%3A%7B%22timestamp%22%3Anull%2C %22timestamp%3C%3D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%2 2%3Anull%7D%2C%22name%22%3Anull%7D%5D%2C%22/user/cotton/default_domain/b roadcast/areas_served%22%3A%5B%7B%22guid%22%3Anull%2C%22id%22%3Anull%2C% 22optional%22%3Atrue%2C%22link%22%3A%7B%22timestamp%22%3Anull%2C%22times tamp%3C%3D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull %7D%2C%22name%22%3Anull%7D%5D%2C%22/user/cotton/default_domain/broadcast /broadcast_advisory%22%3A%5B%7B%22guid%22%3Anull%2C%22id%22%3Anull%2C%22 optional%22%3Atrue%2C%22link%22%3A%7B%22timestamp%22%3Anull%2C%22timesta mp%3C%3D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7 D%2C%22name%22%3Anull%7D%5D%2C%22type%22%3A%22/user/cotton/default_domai n/internet_station%22%2C%22id%22%3Anull%2C%22/common/topic/image%22%3A%5 B%7B%22guid%22%3Anull%2C%22id%22%3Anull%2C%22optional%22%3Atrue%2C%22lin k%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp%3C%3D%22%3A%222008-01-09 T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D%2C%22name%22%3Anull%7D%5D %2C%22/user/cotton/default_domain/internet_station/internet_streams%22%3 A%5B%7B%22optional%22%3Atrue%2C%22playlist_format%22%3A%5B%7B%22guid%22% 3Anull%2C%22id%22%3Anull%2C%22optional%22%3Atrue%2C%22link%22%3A%7B%22ti mestamp%22%3Anull%2C%22timestamp%3C%3D%22%3A%222008-01-09T21%3A40%3A15.0 000Z%22%2C%22valid%22%3Anull%7D%2C%22name%22%3Anull%7D%5D%2C%22uri%22%3A %5B%7B%22link%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp%3C%3D%22%3A% 222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D%2C%22optional %22%3Atrue%2C%22value%22%3Anull%7D%5D%2C%22stream_bitrate%22%3A%5B%7B%22 link%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp%3C%3D%22%3A%222008-01 -09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D%2C%22optional%22%3Atru e%2C%22value%22%3Anull%7D%5D%2C%22link%22%3A%7B%22timestamp%22%3Anull%2C %22timestamp%3C%3D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%2 2%3Anull%7D%2C%22stream_format%22%3A%5B%7B%22guid%22%3Anull%2C%22id%22%3 Anull%2C%22optional%22%3Atrue%2C%22link%22%3A%7B%22timestamp%22%3Anull%2 C%22timestamp%3C%3D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid% 22%3Anull%7D%2C%22name%22%3Anull%7D%5D%7D%5D%2C%22name%22%3A%5B%7B%22lan g%22%3A%22/lang/en%22%2C%22optional%22%3Atrue%2C%22value%22%3Anull%2C%22 link%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp%3C%3D%22%3A%222008-01 -09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D%7D%5D%7D%2C%22cursor%2 2%3Atrue%7D HTTP/1.0 500 Internal Server Error Date: Fri, 11 Jan 2008 19:18:04 GMT Server: Apache Content-Length: 117 Cache-Control: public Cache-Control: max-age=1, s-maxage=1 Expires: Fri, 11-Jan-2008 19:18:05 GMT Age: 760 X-Metaweb-Cost: dt=0.02, nreqs=1, tr=0.001, tu=0.0, ts=0.0, pr=0, pf=0, dw=0, dr=28, in=18, ir=2, iw=0, va=22, te=0.001, tg=0.000893831253052, tf=0.0011088848114, tm=0.00350093841553, cr=1, cm=0, ch=1, gqr=0 Content-Type: text/javascript; charset="utf-8" X-Cache: MISS from cache01.sandbox.sfo1.metaweb.com Connection: close X-Metaweb-TID: cache;cache01.sandbox.sfo1:8101;2008-01-11T19:18:04Z;0001 { "status": "500 Server Error", "code": "/api/status/error", "messages": [ "unsubscriptable object" ] } Trace www.freebase.com: POST /api/service/mqlread HTTP/1.1 Referer: app:/Freebase.swf Accept: text/xml, application/xml, application/xhtml+xml, text/html;q=0.9, text/plain;q=0.8, text/css, image/png, image/jpeg, image/gif;q=0.8, application/x-shockwave-flash, video/mp4;q=0.9, flv-application/octet-stream;q=0.8, video/x-flv;q=0.7, audio/mp4, application/futuresplash, */*;q=0.5 x-flash-version: 9,0,99,0 Content-Type: application/x-www-form-urlencoded Content-Length: 3827 User-Agent: Mozilla/5.0 (Windows; U; en) AppleWebKit/420+ (KHTML, like Gecko) AdobeAIR/1.0 Host: www.freebase.com Connection: Keep-Alive Cookie: metaweb-user="A|u_avh|g_#9202a8c04000641f80000000042b3876|4.WF06h7rVjqT+ rRW/hryP1A"; metaweb-user-info=A|p_%2Fuser%2Favh|u_avh|g_#9202a8c04000641f80000000042 b3876|0.; permissionCache2=%7B%22count%22%3A5%2C%22permissions%22%3A%7B%22%2Fboot% 2Fall_permission%22%3Atrue%2C%22%2Fboot%2Froot_permission%22%3Afalse%2C% 22%2Fguid%2F9202a8c04000641f80000000042b3872%22%3Atrue%2C%22%2Fguid%2F92 02a8c04000641f8000000005f50a83%22%3Afalse%2C%22%2Fguid%2F9202a8c04000641 f8000000006abf28a%22%3Afalse%7D%2C%22user%22%3A%22%239202a8c04000641f800 00000042b3876%22%7D; hideEmpty2=false; mwbrowserchecked2=true; __utma=118736350.1859247523.1197589563.1198476648.1198537389.11; __utmz=118736350.1197589563.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=( none) query=%7B%22escape%22%3Afalse%2C%22query%22%3A%7B%22/user/cotton/default _domain/broadcast/artists_played%22%3A%5B%7B%22guid%22%3Anull%2C%22id%22 %3Anull%2C%22optional%22%3Atrue%2C%22link%22%3A%7B%22timestamp%22%3Anull %2C%22timestamp%3C%3D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22vali d%22%3Anull%7D%2C%22name%22%3Anull%7D%5D%2C%22guid%22%3A%22%239202a8c040 00641f8000000005fdf590%22%2C%22/user/cotton/default_domain/broadcast/sum mary%22%3A%5B%7B%22lang%22%3A%22/lang/en%22%2C%22optional%22%3Atrue%2C%2 2value%22%3Anull%2C%22link%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp %3C%3D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D% 7D%5D%2C%22/common/topic/webpage%22%3A%5B%7B%22optional%22%3Atrue%2C%22u ri%22%3A%5B%7B%22link%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp%3C%3 D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D%2C%22 optional%22%3Atrue%2C%22value%22%3Anull%7D%5D%2C%22description%22%3A%5B% 7B%22lang%22%3A%22/lang/en%22%2C%22optional%22%3Atrue%2C%22value%22%3Anu ll%2C%22link%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp%3C%3D%22%3A%2 22008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D%7D%5D%2C%22lin k%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp%3C%3D%22%3A%222008-01-09 T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D%7D%5D%2C%22/user/cotton/d efault_domain/broadcast/genre%22%3A%5B%7B%22guid%22%3Anull%2C%22id%22%3A null%2C%22optional%22%3Atrue%2C%22link%22%3A%7B%22timestamp%22%3Anull%2C %22timestamp%3C%3D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%2 2%3Anull%7D%2C%22name%22%3Anull%7D%5D%2C%22/user/cotton/default_domain/b roadcast/areas_served%22%3A%5B%7B%22guid%22%3Anull%2C%22id%22%3Anull%2C% 22optional%22%3Atrue%2C%22link%22%3A%7B%22timestamp%22%3Anull%2C%22times tamp%3C%3D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull %7D%2C%22name%22%3Anull%7D%5D%2C%22/user/cotton/default_domain/broadcast /broadcast_advisory%22%3A%5B%7B%22guid%22%3Anull%2C%22id%22%3Anull%2C%22 optional%22%3Atrue%2C%22link%22%3A%7B%22timestamp%22%3Anull%2C%22timesta mp%3C%3D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7 D%2C%22name%22%3Anull%7D%5D%2C%22type%22%3A%22/user/cotton/default_domai n/internet_station%22%2C%22id%22%3Anull%2C%22/common/topic/image%22%3A%5 B%7B%22guid%22%3Anull%2C%22id%22%3Anull%2C%22optional%22%3Atrue%2C%22lin k%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp%3C%3D%22%3A%222008-01-09 T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D%2C%22name%22%3Anull%7D%5D %2C%22/user/cotton/default_domain/internet_station/internet_streams%22%3 A%5B%7B%22optional%22%3Atrue%2C%22playlist_format%22%3A%5B%7B%22guid%22% 3Anull%2C%22id%22%3Anull%2C%22optional%22%3Atrue%2C%22link%22%3A%7B%22ti mestamp%22%3Anull%2C%22timestamp%3C%3D%22%3A%222008-01-09T21%3A40%3A15.0 000Z%22%2C%22valid%22%3Anull%7D%2C%22name%22%3Anull%7D%5D%2C%22uri%22%3A %5B%7B%22link%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp%3C%3D%22%3A% 222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D%2C%22optional %22%3Atrue%2C%22value%22%3Anull%7D%5D%2C%22stream_bitrate%22%3A%5B%7B%22 link%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp%3C%3D%22%3A%222008-01 -09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D%2C%22optional%22%3Atru e%2C%22value%22%3Anull%7D%5D%2C%22link%22%3A%7B%22timestamp%22%3Anull%2C %22timestamp%3C%3D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%2 2%3Anull%7D%2C%22stream_format%22%3A%5B%7B%22guid%22%3Anull%2C%22id%22%3 Anull%2C%22optional%22%3Atrue%2C%22link%22%3A%7B%22timestamp%22%3Anull%2 C%22timestamp%3C%3D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid% 22%3Anull%7D%2C%22name%22%3Anull%7D%5D%7D%5D%2C%22name%22%3A%5B%7B%22lan g%22%3A%22/lang/en%22%2C%22optional%22%3Atrue%2C%22value%22%3Anull%2C%22 link%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp%3C%3D%22%3A%222008-01 -09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D%7D%5D%7D%2C%22cursor%2 2%3Atrue%7DHTTP/1.0 200 OK Date: Fri, 11 Jan 2008 19:20:44 GMT Server: Apache Content-Length: 4337 X-Metaweb-Cost: dt=0.021, nreqs=1, tr=0.001, tu=0.0, ts=0.0, pr=0, pf=0, dw=0, dr=28, in=18, ir=2, iw=0, va=22, te=0.001, tg=0.00072717666626, tf=0.000982999801636, tm=0.00365710258484, cr=1, cm=0, ch=1 Content-Type: text/javascript; charset="utf-8" X-Cache: MISS from cache03.p01.sfo1.metaweb.com Connection: keep-alive Last-Modified: Fri, 11 Jan 2008 19:05:45 GMT Cache-Control: public, max-age=1, s-maxage=5 Expires: Fri, 11 Jan 2008 19:20:45 GMT X-Metaweb-TID: cache;cache03.p01.sfo1:8101;2008-01-11T19:20:44Z;0001 { "cursor": false, "status": "200 OK", "code": "/api/status/ok", "result": { "/common/topic/webpage": [ { "link": { "timestamp": "2007-11-12T20:22:51.0007Z", "valid": true }, "uri": [ { "link": { "timestamp": "2007-11-12T20:22:51.0002Z", "valid": true }, "value": "http://somafm.com/play/secretagent" } ], "description": [ { "lang": "/lang/en", "link": { "timestamp": "2007-11-12T20:22:51.0004Z", "valid": true }, "value": "Official Website" } ] } ], "/user/cotton/default_domain/broadcast/areas_served": [], "/user/cotton/default_domain/broadcast/summary": [ { "lang": "/lang/en", "link": { "timestamp": "2007-12-05T04:14:07.0000Z", "valid": true }, "value": "The soundtrack for your stylish, mysterious, dangerous life. For Spies and PIs too!" } ], "/user/cotton/default_domain/broadcast/artists_played": [], "/user/cotton/default_domain/broadcast/broadcast_advisory": [], "/user/cotton/default_domain/internet_station/internet_streams": [ { "stream_bitrate": [ { "link": { "timestamp": "2007-11-12T20:23:43.0006Z", "valid": true }, "value": 128 } ], "stream_format": [ { "guid": "#9202a8c04000641f800000000520057a", "link": { "timestamp": "2007-11-12T20:23:43.0004Z", "valid": false }, "id": "/guid/9202a8c04000641f800000000520057a", "name": null }, { "guid": "#9202a8c04000641f8000000000002244", "link": { "timestamp": "2007-12-10T23:35:27.0016Z", "valid": true }, "id": "/media_type/audio/mpeg", "name": "audio/mpeg" } ], "playlist_format": [ { "guid": "#9202a8c04000641f8000000000002346", "link": { "timestamp": "2007-11-12T20:23:43.0002Z", "valid": false }, "id": "/media_type/audio/x-mpegurl", "name": "audio/x-mpegurl" }, { "guid": "#9202a8c04000641f8000000005fdf777", "link": { "timestamp": "2007-12-29T18:48:15.0000Z", "valid": true }, "id": "/media_type/audio/x-scpls", "name": "audio/x-scpls" } ], "link": { "timestamp": "2007-11-12T20:23:43.0011Z", "valid": true }, "uri": [ { "link": { "timestamp": "2007-11-12T20:23:43.0009Z", "valid": true }, "value": "http://somafm.com/secretagent.pls" } ] } ], "/common/topic/image": [ { "guid": "#9202a8c04000641f8000000005fdf99c", "link": { "timestamp": "2007-11-12T20:22:29.0000Z", "valid": true }, "id": "/guid/9202a8c04000641f8000000005fdf99c", "name": "Secret Agent Logo" } ], "/user/cotton/default_domain/broadcast/genre": [ { "guid": "#9202a8c04000641f8000000000014a39", "link": { "timestamp": "2007-12-05T04:14:16.0000Z", "valid": true }, "id": "/topic/en/electronic_music", "name": "Electronic music" } ], "guid": "#9202a8c04000641f8000000005fdf590", "type": "/user/cotton/default_domain/internet_station", "id": "/guid/9202a8c04000641f8000000005fdf590", "name": [ { "lang": "/lang/en", "link": { "timestamp": "2007-11-12T17:06:58.0001Z", "valid": false }, "value": "Secret Agent" }, { "lang": "/lang/en", "link": { "timestamp": "2007-11-12T17:16:02.0000Z", "valid": true }, "value": "Secret Agent on Soma FM" } ] } } ___________________________________________ Arthur van Hoff, Dell-ZING, CTO Software and Services. W: 650-267-2413, F: 650-267-2498, M: 650-283-0842 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freebase.com/pipermail/developers/attachments/20080111/95d09f0c/attachment-0001.htm From aseem at metaweb.com Fri Jan 11 20:23:57 2008 From: aseem at metaweb.com (Aseem Mohanty) Date: Fri, 11 Jan 2008 12:23:57 -0800 Subject: [Developers] "unsubscriptable object" In-Reply-To: References: Message-ID: <4787D05D.1070108@metaweb.com> Hi Arthur. A bug had crept into the client software on sandbox that barfs on some mqlread requests. This has been fixed and sandbox should be updated sometime today to prevent this. Thanks for catching that. Aseem Arthur van Hoff wrote: > Hi, > > > > We are getting an "unsubscriptable object" error when submitting a query > to the sandbox (it works fine on the live data base). Any suggestions > what this means? > > > > Here is the query: > > > > { > > "/common/topic/image" : [ > > { > > "guid" : null, > > "id" : null, > > "link" : { > > "timestamp" : null, > > "timestamp<=" : "2008-01-09T21:40:15.0000Z", > > "valid" : null > > }, > > "name" : null, > > "optional" : true > > } > > ], > > "/common/topic/webpage" : [ > > { > > "description" : [ > > { > > "lang" : "/lang/en", > > "link" : { > > "timestamp" : null, > > "timestamp<=" : "2008-01-09T21:40:15.0000Z", > > "valid" : null > > }, > > "optional" : true, > > "value" : null > > } > > ], > > "link" : { > > "timestamp" : null, > > "timestamp<=" : "2008-01-09T21:40:15.0000Z", > > "valid" : null > > }, > > "optional" : true, > > "uri" : [ > > { > > "link" : { > > "timestamp" : null, > > "timestamp<=" : "2008-01-09T21:40:15.0000Z", > > "valid" : null > > }, > > "optional" : true, > > "value" : null > > } > > ] > > } > > ], > > "/user/cotton/default_domain/broadcast/areas_served" : [ > > { > > "guid" : null, > > "id" : null, > > "link" : { > > "timestamp" : null, > > "timestamp<=" : "2008-01-09T21:40:15.0000Z", > > "valid" : null > > }, > > "name" : null, > > "optional" : true > > } > > ], > > "/user/cotton/default_domain/broadcast/artists_played" : [ > > { > > "guid" : null, > > "id" : null, > > "link" : { > > "timestamp" : null, > > "timestamp<=" : "2008-01-09T21:40:15.0000Z", > > "valid" : null > > }, > > "name" : null, > > "optional" : true > > } > > ], > > "/user/cotton/default_domain/broadcast/broadcast_advisory" : [ > > { > > "guid" : null, > > "id" : null, > > "link" : { > > "timestamp" : null, > > "timestamp<=" : "2008-01-09T21:40:15.0000Z", > > "valid" : null > > }, > > "name" : null, > > "optional" : true > > } > > ], > > "/user/cotton/default_domain/broadcast/genre" : [ > > { > > "guid" : null, > > "id" : null, > > "link" : { > > "timestamp" : null, > > "timestamp<=" : "2008-01-09T21:40:15.0000Z", > > "valid" : null > > }, > > "name" : null, > > "optional" : true > > } > > ], > > "/user/cotton/default_domain/broadcast/summary" : [ > > { > > "lang" : "/lang/en", > > "link" : { > > "timestamp" : null, > > "timestamp<=" : "2008-01-09T21:40:15.0000Z", > > "valid" : null > > }, > > "optional" : true, > > "value" : null > > } > > ], > > "/user/cotton/default_domain/internet_station/internet_streams" : [ > > { > > "link" : { > > "timestamp" : null, > > "timestamp<=" : "2008-01-09T21:40:15.0000Z", > > "valid" : null > > }, > > "optional" : true, > > "playlist_format" : [ > > { > > "guid" : null, > > "id" : null, > > "link" : { > > "timestamp" : null, > > "timestamp<=" : "2008-01-09T21:40:15.0000Z", > > "valid" : null > > }, > > "name" : null, > > "optional" : true > > } > > ], > > "stream_bitrate" : [ > > { > > "link" : { > > "timestamp" : null, > > "timestamp<=" : "2008-01-09T21:40:15.0000Z", > > "valid" : null > > }, > > "optional" : true, > > "value" : null > > } > > ], > > "stream_format" : [ > > { > > "guid" : null, > > "id" : null, > > "link" : { > > "timestamp" : null, > > "timestamp<=" : "2008-01-09T21:40:15.0000Z", > > "valid" : null > > }, > > "name" : null, > > "optional" : true > > } > > ], > > "uri" : [ > > { > > "link" : { > > "timestamp" : null, > > "timestamp<=" : "2008-01-09T21:40:15.0000Z", > > "valid" : null > > }, > > "optional" : true, > > "value" : null > > } > > ] > > } > > ], > > "guid" : "#9202a8c04000641f8000000005fdf590", > > "id" : null, > > "name" : [ > > { > > "lang" : "/lang/en", > > "link" : { > > "timestamp" : null, > > "timestamp<=" : "2008-01-09T21:40:15.0000Z", > > "valid" : null > > }, > > "optional" : true, > > "value" : null > > } > > ], > > "type" : "/user/cotton/default_domain/internet_station" > > } > > > > > > Trace sandbox.freebase.com: > > > > POST /api/service/mqlread HTTP/1.1 > > Referer: app:/Freebase.swf > > Accept: text/xml, application/xml, application/xhtml+xml, > text/html;q=0.9, text/plain;q=0.8, text/css, image/png, image/jpeg, > image/gif;q=0.8, application/x-shockwave-flash, video/mp4;q=0.9, > flv-application/octet-stream;q=0.8, video/x-flv;q=0.7, audio/mp4, > application/futuresplash, */*;q=0.5 > > x-flash-version: 9,0,99,0 > > Content-Type: application/x-www-form-urlencoded > > Content-Length: 3827 > > User-Agent: Mozilla/5.0 (Windows; U; en) AppleWebKit/420+ (KHTML, like > Gecko) AdobeAIR/1.0 > > Host: sandbox.freebase.com > > Connection: Keep-Alive > > Cookie: __utma=191567400.278751241.1197589891.1198042621.1198133327.4; > __utmz=191567400.1197589891.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=( > none); > metaweb-user="A|u_avh|g_#9202a8c04000641f80000000042b3876|4.WF06h7rVjqT+ > rRW/hryP1A"; > metaweb-user-info=A|p_%2Fuser%2Favh|u_avh|g_#9202a8c04000641f80000000042 > b3876|0.; > __utma=118736350.1859247523.1197589563.1198476648.1198537389.11; > __utmz=118736350.1197589563.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=( > none) > > > > query=%7B%22escape%22%3Afalse%2C%22query%22%3A%7B%22/user/cotton/default > _domain/broadcast/artists_played%22%3A%5B%7B%22guid%22%3Anull%2C%22id%22 > %3Anull%2C%22optional%22%3Atrue%2C%22link%22%3A%7B%22timestamp%22%3Anull > %2C%22timestamp%3C%3D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22vali > d%22%3Anull%7D%2C%22name%22%3Anull%7D%5D%2C%22guid%22%3A%22%239202a8c040 > 00641f8000000005fdf590%22%2C%22/user/cotton/default_domain/broadcast/sum > mary%22%3A%5B%7B%22lang%22%3A%22/lang/en%22%2C%22optional%22%3Atrue%2C%2 > 2value%22%3Anull%2C%22link%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp > %3C%3D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D% > 7D%5D%2C%22/common/topic/webpage%22%3A%5B%7B%22optional%22%3Atrue%2C%22u > ri%22%3A%5B%7B%22link%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp%3C%3 > D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D%2C%22 > optional%22%3Atrue%2C%22value%22%3Anull%7D%5D%2C%22description%22%3A%5B% > 7B%22lang%22%3A%22/lang/en%22%2C%22optional%22%3Atrue%2C%22value%22%3Anu > ll%2C%22link%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp%3C%3D%22%3A%2 > 22008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D%7D%5D%2C%22lin > k%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp%3C%3D%22%3A%222008-01-09 > T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D%7D%5D%2C%22/user/cotton/d > efault_domain/broadcast/genre%22%3A%5B%7B%22guid%22%3Anull%2C%22id%22%3A > null%2C%22optional%22%3Atrue%2C%22link%22%3A%7B%22timestamp%22%3Anull%2C > %22timestamp%3C%3D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%2 > 2%3Anull%7D%2C%22name%22%3Anull%7D%5D%2C%22/user/cotton/default_domain/b > roadcast/areas_served%22%3A%5B%7B%22guid%22%3Anull%2C%22id%22%3Anull%2C% > 22optional%22%3Atrue%2C%22link%22%3A%7B%22timestamp%22%3Anull%2C%22times > tamp%3C%3D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull > %7D%2C%22name%22%3Anull%7D%5D%2C%22/user/cotton/default_domain/broadcast > /broadcast_advisory%22%3A%5B%7B%22guid%22%3Anull%2C%22id%22%3Anull%2C%22 > optional%22%3Atrue%2C%22link%22%3A%7B%22timestamp%22%3Anull%2C%22timesta > mp%3C%3D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7 > D%2C%22name%22%3Anull%7D%5D%2C%22type%22%3A%22/user/cotton/default_domai > n/internet_station%22%2C%22id%22%3Anull%2C%22/common/topic/image%22%3A%5 > B%7B%22guid%22%3Anull%2C%22id%22%3Anull%2C%22optional%22%3Atrue%2C%22lin > k%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp%3C%3D%22%3A%222008-01-09 > T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D%2C%22name%22%3Anull%7D%5D > %2C%22/user/cotton/default_domain/internet_station/internet_streams%22%3 > A%5B%7B%22optional%22%3Atrue%2C%22playlist_format%22%3A%5B%7B%22guid%22% > 3Anull%2C%22id%22%3Anull%2C%22optional%22%3Atrue%2C%22link%22%3A%7B%22ti > mestamp%22%3Anull%2C%22timestamp%3C%3D%22%3A%222008-01-09T21%3A40%3A15.0 > 000Z%22%2C%22valid%22%3Anull%7D%2C%22name%22%3Anull%7D%5D%2C%22uri%22%3A > %5B%7B%22link%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp%3C%3D%22%3A% > 222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D%2C%22optional > %22%3Atrue%2C%22value%22%3Anull%7D%5D%2C%22stream_bitrate%22%3A%5B%7B%22 > link%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp%3C%3D%22%3A%222008-01 > -09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D%2C%22optional%22%3Atru > e%2C%22value%22%3Anull%7D%5D%2C%22link%22%3A%7B%22timestamp%22%3Anull%2C > %22timestamp%3C%3D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%2 > 2%3Anull%7D%2C%22stream_format%22%3A%5B%7B%22guid%22%3Anull%2C%22id%22%3 > Anull%2C%22optional%22%3Atrue%2C%22link%22%3A%7B%22timestamp%22%3Anull%2 > C%22timestamp%3C%3D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid% > 22%3Anull%7D%2C%22name%22%3Anull%7D%5D%7D%5D%2C%22name%22%3A%5B%7B%22lan > g%22%3A%22/lang/en%22%2C%22optional%22%3Atrue%2C%22value%22%3Anull%2C%22 > link%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp%3C%3D%22%3A%222008-01 > -09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D%7D%5D%7D%2C%22cursor%2 > 2%3Atrue%7D > > HTTP/1.0 500 Internal Server Error > > Date: Fri, 11 Jan 2008 19:18:04 GMT > > Server: Apache > > Content-Length: 117 > > Cache-Control: public > > Cache-Control: max-age=1, s-maxage=1 > > Expires: Fri, 11-Jan-2008 19:18:05 GMT > > Age: 760 > > X-Metaweb-Cost: dt=0.02, nreqs=1, tr=0.001, tu=0.0, ts=0.0, pr=0, pf=0, > dw=0, dr=28, in=18, ir=2, iw=0, va=22, te=0.001, tg=0.000893831253052, > tf=0.0011088848114, tm=0.00350093841553, cr=1, cm=0, ch=1, gqr=0 > > Content-Type: text/javascript; charset="utf-8" > > X-Cache: MISS from cache01.sandbox.sfo1.metaweb.com > > Connection: close > > X-Metaweb-TID: cache;cache01.sandbox.sfo1:8101;2008-01-11T19:18:04Z;0001 > > > > { > > "status": "500 Server Error", > > "code": "/api/status/error", > > "messages": [ > > "unsubscriptable object" > > ] > > } > > > > Trace www.freebase.com: > > > > POST /api/service/mqlread HTTP/1.1 > > Referer: app:/Freebase.swf > > Accept: text/xml, application/xml, application/xhtml+xml, > text/html;q=0.9, text/plain;q=0.8, text/css, image/png, image/jpeg, > image/gif;q=0.8, application/x-shockwave-flash, video/mp4;q=0.9, > flv-application/octet-stream;q=0.8, video/x-flv;q=0.7, audio/mp4, > application/futuresplash, */*;q=0.5 > > x-flash-version: 9,0,99,0 > > Content-Type: application/x-www-form-urlencoded > > Content-Length: 3827 > > User-Agent: Mozilla/5.0 (Windows; U; en) AppleWebKit/420+ (KHTML, like > Gecko) AdobeAIR/1.0 > > Host: www.freebase.com > > Connection: Keep-Alive > > Cookie: > metaweb-user="A|u_avh|g_#9202a8c04000641f80000000042b3876|4.WF06h7rVjqT+ > rRW/hryP1A"; > metaweb-user-info=A|p_%2Fuser%2Favh|u_avh|g_#9202a8c04000641f80000000042 > b3876|0.; > permissionCache2=%7B%22count%22%3A5%2C%22permissions%22%3A%7B%22%2Fboot% > 2Fall_permission%22%3Atrue%2C%22%2Fboot%2Froot_permission%22%3Afalse%2C% > 22%2Fguid%2F9202a8c04000641f80000000042b3872%22%3Atrue%2C%22%2Fguid%2F92 > 02a8c04000641f8000000005f50a83%22%3Afalse%2C%22%2Fguid%2F9202a8c04000641 > f8000000006abf28a%22%3Afalse%7D%2C%22user%22%3A%22%239202a8c04000641f800 > 00000042b3876%22%7D; hideEmpty2=false; mwbrowserchecked2=true; > __utma=118736350.1859247523.1197589563.1198476648.1198537389.11; > __utmz=118736350.1197589563.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=( > none) > > > > query=%7B%22escape%22%3Afalse%2C%22query%22%3A%7B%22/user/cotton/default > _domain/broadcast/artists_played%22%3A%5B%7B%22guid%22%3Anull%2C%22id%22 > %3Anull%2C%22optional%22%3Atrue%2C%22link%22%3A%7B%22timestamp%22%3Anull > %2C%22timestamp%3C%3D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22vali > d%22%3Anull%7D%2C%22name%22%3Anull%7D%5D%2C%22guid%22%3A%22%239202a8c040 > 00641f8000000005fdf590%22%2C%22/user/cotton/default_domain/broadcast/sum > mary%22%3A%5B%7B%22lang%22%3A%22/lang/en%22%2C%22optional%22%3Atrue%2C%2 > 2value%22%3Anull%2C%22link%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp > %3C%3D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D% > 7D%5D%2C%22/common/topic/webpage%22%3A%5B%7B%22optional%22%3Atrue%2C%22u > ri%22%3A%5B%7B%22link%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp%3C%3 > D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D%2C%22 > optional%22%3Atrue%2C%22value%22%3Anull%7D%5D%2C%22description%22%3A%5B% > 7B%22lang%22%3A%22/lang/en%22%2C%22optional%22%3Atrue%2C%22value%22%3Anu > ll%2C%22link%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp%3C%3D%22%3A%2 > 22008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D%7D%5D%2C%22lin > k%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp%3C%3D%22%3A%222008-01-09 > T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D%7D%5D%2C%22/user/cotton/d > efault_domain/broadcast/genre%22%3A%5B%7B%22guid%22%3Anull%2C%22id%22%3A > null%2C%22optional%22%3Atrue%2C%22link%22%3A%7B%22timestamp%22%3Anull%2C > %22timestamp%3C%3D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%2 > 2%3Anull%7D%2C%22name%22%3Anull%7D%5D%2C%22/user/cotton/default_domain/b > roadcast/areas_served%22%3A%5B%7B%22guid%22%3Anull%2C%22id%22%3Anull%2C% > 22optional%22%3Atrue%2C%22link%22%3A%7B%22timestamp%22%3Anull%2C%22times > tamp%3C%3D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull > %7D%2C%22name%22%3Anull%7D%5D%2C%22/user/cotton/default_domain/broadcast > /broadcast_advisory%22%3A%5B%7B%22guid%22%3Anull%2C%22id%22%3Anull%2C%22 > optional%22%3Atrue%2C%22link%22%3A%7B%22timestamp%22%3Anull%2C%22timesta > mp%3C%3D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7 > D%2C%22name%22%3Anull%7D%5D%2C%22type%22%3A%22/user/cotton/default_domai > n/internet_station%22%2C%22id%22%3Anull%2C%22/common/topic/image%22%3A%5 > B%7B%22guid%22%3Anull%2C%22id%22%3Anull%2C%22optional%22%3Atrue%2C%22lin > k%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp%3C%3D%22%3A%222008-01-09 > T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D%2C%22name%22%3Anull%7D%5D > %2C%22/user/cotton/default_domain/internet_station/internet_streams%22%3 > A%5B%7B%22optional%22%3Atrue%2C%22playlist_format%22%3A%5B%7B%22guid%22% > 3Anull%2C%22id%22%3Anull%2C%22optional%22%3Atrue%2C%22link%22%3A%7B%22ti > mestamp%22%3Anull%2C%22timestamp%3C%3D%22%3A%222008-01-09T21%3A40%3A15.0 > 000Z%22%2C%22valid%22%3Anull%7D%2C%22name%22%3Anull%7D%5D%2C%22uri%22%3A > %5B%7B%22link%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp%3C%3D%22%3A% > 222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D%2C%22optional > %22%3Atrue%2C%22value%22%3Anull%7D%5D%2C%22stream_bitrate%22%3A%5B%7B%22 > link%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp%3C%3D%22%3A%222008-01 > -09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D%2C%22optional%22%3Atru > e%2C%22value%22%3Anull%7D%5D%2C%22link%22%3A%7B%22timestamp%22%3Anull%2C > %22timestamp%3C%3D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid%2 > 2%3Anull%7D%2C%22stream_format%22%3A%5B%7B%22guid%22%3Anull%2C%22id%22%3 > Anull%2C%22optional%22%3Atrue%2C%22link%22%3A%7B%22timestamp%22%3Anull%2 > C%22timestamp%3C%3D%22%3A%222008-01-09T21%3A40%3A15.0000Z%22%2C%22valid% > 22%3Anull%7D%2C%22name%22%3Anull%7D%5D%7D%5D%2C%22name%22%3A%5B%7B%22lan > g%22%3A%22/lang/en%22%2C%22optional%22%3Atrue%2C%22value%22%3Anull%2C%22 > link%22%3A%7B%22timestamp%22%3Anull%2C%22timestamp%3C%3D%22%3A%222008-01 > -09T21%3A40%3A15.0000Z%22%2C%22valid%22%3Anull%7D%7D%5D%7D%2C%22cursor%2 > 2%3Atrue%7DHTTP/1.0 200 OK > > Date: Fri, 11 Jan 2008 19:20:44 GMT > > Server: Apache > > Content-Length: 4337 > > X-Metaweb-Cost: dt=0.021, nreqs=1, tr=0.001, tu=0.0, ts=0.0, pr=0, pf=0, > dw=0, dr=28, in=18, ir=2, iw=0, va=22, te=0.001, tg=0.00072717666626, > tf=0.000982999801636, tm=0.00365710258484, cr=1, cm=0, ch=1 > > Content-Type: text/javascript; charset="utf-8" > > X-Cache: MISS from cache03.p01.sfo1.metaweb.com > > Connection: keep-alive > > Last-Modified: Fri, 11 Jan 2008 19:05:45 GMT > > Cache-Control: public, max-age=1, s-maxage=5 > > Expires: Fri, 11 Jan 2008 19:20:45 GMT > > X-Metaweb-TID: cache;cache03.p01.sfo1:8101;2008-01-11T19:20:44Z;0001 > > > > { > > "cursor": false, > > "status": "200 OK", > > "code": "/api/status/ok", > > "result": { > > "/common/topic/webpage": [ > > { > > "link": { > > "timestamp": "2007-11-12T20:22:51.0007Z", > > "valid": true > > }, > > "uri": [ > > { > > "link": { > > "timestamp": "2007-11-12T20:22:51.0002Z", > > "valid": true > > }, > > "value": "http://somafm.com/play/secretagent" > > } > > ], > > "description": [ > > { > > "lang": "/lang/en", > > "link": { > > "timestamp": "2007-11-12T20:22:51.0004Z", > > "valid": true > > }, > > "value": "Official Website" > > } > > ] > > } > > ], > > "/user/cotton/default_domain/broadcast/areas_served": [], > > "/user/cotton/default_domain/broadcast/summary": [ > > { > > "lang": "/lang/en", > > "link": { > > "timestamp": "2007-12-05T04:14:07.0000Z", > > "valid": true > > }, > > "value": "The soundtrack for your stylish, mysterious, dangerous > life. For Spies and PIs too!" > > } > > ], > > "/user/cotton/default_domain/broadcast/artists_played": [], > > "/user/cotton/default_domain/broadcast/broadcast_advisory": [], > > "/user/cotton/default_domain/internet_station/internet_streams": [ > > { > > "stream_bitrate": [ > > { > > "link": { > > "timestamp": "2007-11-12T20:23:43.0006Z", > > "valid": true > > }, > > "value": 128 > > } > > ], > > "stream_format": [ > > { > > "guid": "#9202a8c04000641f800000000520057a", > > "link": { > > "timestamp": "2007-11-12T20:23:43.0004Z", > > "valid": false > > }, > > "id": "/guid/9202a8c04000641f800000000520057a", > > "name": null > > }, > > { > > "guid": "#9202a8c04000641f8000000000002244", > > "link": { > > "timestamp": "2007-12-10T23:35:27.0016Z", > > "valid": true > > }, > > "id": "/media_type/audio/mpeg", > > "name": "audio/mpeg" > > } > > ], > > "playlist_format": [ > > { > > "guid": "#9202a8c04000641f8000000000002346", > > "link": { > > "timestamp": "2007-11-12T20:23:43.0002Z", > > "valid": false > > }, > > "id": "/media_type/audio/x-mpegurl", > > "name": "audio/x-mpegurl" > > }, > > { > > "guid": "#9202a8c04000641f8000000005fdf777", > > "link": { > > "timestamp": "2007-12-29T18:48:15.0000Z", > > "valid": true > > }, > > "id": "/media_type/audio/x-scpls", > > "name": "audio/x-scpls" > > } > > ], > > "link": { > > "timestamp": "2007-11-12T20:23:43.0011Z", > > "valid": true > > }, > > "uri": [ > > { > > "link": { > > "timestamp": "2007-11-12T20:23:43.0009Z", > > "valid": true > > }, > > "value": "http://somafm.com/secretagent.pls" > > } > > ] > > } > > ], > > "/common/topic/image": [ > > { > > "guid": "#9202a8c04000641f8000000005fdf99c", > > "link": { > > "timestamp": "2007-11-12T20:22:29.0000Z", > > "valid": true > > }, > > "id": "/guid/9202a8c04000641f8000000005fdf99c", > > "name": "Secret Agent Logo" > > } > > ], > > "/user/cotton/default_domain/broadcast/genre": [ > > { > >