as I'm looking on YQL, it looks really great. But I'm worried about it's extensibility for world-wide usage. Suppose there are thousands (or hundreds of thousands) supported tables, than you can't have them all in one "top-level namespace". It would be so huge and dis-ambiguous. I think it would be great to use namespace conventions from Java classes world, i.e. "select * com.google.buzz ...." instead of just "google.buzz".
Imagine company called "CompanyA" in US, company with the same name in UK, also one in Germany or France. All of them possibly want to provide a data table, but their name's will make colisions. And on the other side, when a German programmer sees a "CompanyA" table, he could be very confused if it'll provide data from the french one (in case the french one will grab the namespace first).
In my opinion, this could cause big troubles when big numbers of tables supported by YQL. Or do you think something else? Thanks for your opinions
Table discoverability is a great problem for us to have (we have lots of tables!). We have a few other console features in the works that will help a little in this area, and a few other features lined up too.
Using a java style naming convention doesn't really help this problem either - you simply have to drill down endlessly to find the leafs of the tree. The current convention of using the company name as the top level works well, as most APIs ARE associated with companies, and most companies have unique names.
Developers can also create different groups of tables easily using our "env" feature to help manage the number available, and the number of APIs available is actually fairly finite (check out http://www.programmableweb.com/ for a very large list), around 1800.
Finally, the majority of the tables are in github, added by developers for the community to use. Any problems with the wrong namespace can be dealt with there.