28. You can mix and match several web services using the in() command.
29. Guess what this does: select * from flickr.photos.info where photo_id in (select id from flickr.photos.search where woe_id in (select woeid from geo.places where text='london,uk') and license=4)
30. Find photos in London, UK with a Creative Commons “By” license and give me all the information you have about them.
31. select * from flickr.photos.info where photo_id in (select id from flickr.photos.search where woe_id in (select woeid from geo.places where text='london,uk') and license=4)
32. Using a command like this and some out-of-the-box UI elements like Yahoo Maps and the YUI carousel, you can build something *very* quickly.
34. Instead of selecting all the information you can also limit the results: select name,url from upcoming.venue where metro_id in (select id from upcoming.metro where search_text="stokey")
35. select name,url from upcoming.venue where metro_id in (select id from upcoming.metro where search_text="stokey")
36. The diagnostics part of the returned data shows you what happened and how long it took
47. All we need the data provider to do is to create a schema that explains their data structure. http://developer.yahoo.com/yql/guide/yql-opentables-chapter.html
48. And people do… http://github.com/spullara/yql-tables/tree/master amazon bitly delicious dopplr etsy friendfeed github Greader guardian imdb iplocation lastfm nestoria netflix nmm nyt opensocial search shopping social twitter update.groovy weather wesabe whitepages yahoo yelp zillow
49. For example the national maritime museum: select * from nmm.archive.search where searchterm=‘horatio nelson'
50. select * from nmm.archive.search where searchterm=‘horatio nelson'
52. The only shame is that you can’t do all the things in YQL that you can do in Pipes – for example string manipulation.
53. We wondered how to make this possible. One thing we didn’t want to sacrifice is the simplicity of the language itself.
54. So instead of inventing an own language, we decided to piggy-back on one you already know.
55. YQL execute allows you to embed JavaScript in the open table schema that runs on the YQL server and converts the data for you. http://developer.yahoo.com/yql/guide/yql-execute-chapter.html
56. For example you can augment an existing service to do something different. The following example adds a rank to search results. http://www.yqlblog.net/samples/searchrank.xml
57.
58.
59. Stored as XML this can be used in a YQL query: use 'http://yqlblog.net/samples/searchrank.xml' as searchrank; select * from searchrank where query='pizza' and dispurl like '%pizzahut% '
60.
61. Anyways, the *easiest* way to start with YQL is to use the console. http://developer.yahoo.com/yql/console/
62.
63.
64.
65.
66.
67.
68.
69.
70.
71. Of course, you can also spend half the hack day reading API docs
72. Check out some code examples on. http://isithackday.com/hacks/ohd-london