Query the Web with YQLSriram Viswanathanhttp://slideshare.net/ramace
What is YQL? •Similar to SQL •Can query, filter and join data across Web services
Why YQL? • Simple, SQL-like • Hides complexity of Web service API • Pre-defined tables for popular Yahoo! Web services such as Flickr, Social and others. • Supports output format XML, JSON
YQL Console • http://developer.yahoo.com/yql/console/ • Enables you to run YQL statements interactively from your browser
SELECT statement • SELECT what FROM table WHERE filter Examples • select * from social.connections where owner_guid=me • select contactId from social.connections where owner_guid=me • select image.imageUrl from social.profile where guid=me
Filtering Query Results Examples •select * from flickr.photos.search where text=Barcelona’ and api_key=‘your api key’ •select * from upcoming.events where location in ("San Francisco", "San Jose”) •select * from flickr.photos.info where photo_id=7640771676 and api_key=’your api key
Joining tables with sub-select Example select * from social.profile where guid in (select guid from social.connections where owner_guid=me)
Paging and Limits • select * from flickr.photos.search where text="Cat" and api_key=”your api key" limit 10 • select * from flickr.photos.search(0,10) where text="Cat" and api_key=”you api key” • select * from flickr.photos.search(0,10) where text="Cat" and api_key=“you api key” limit 5 • select * from flickr.photos.search where text="Cat" and api_key=“you api key” limit 5 offset 3
Using Query Builder • YQL console includes a simple query builder tool. This tool allows you to customize and explore YQL statements.
Response Data • Supported response XML, JSON • Contains diagnostic and results elements <query ... (attributes such as count)> <diagnostics> ... (sub-elements such as publiclyCallable) <results> ... (data returned by the call to YQL) </results> </query>
Usage Information andLimitations • YQL has a performance uptime target of over 99.5%. • YQL relies on the correct operation of the Web services and content providers it accesses. • Per application limit (identified by your Access Key): 100,000 calls per day. • Per IP limits: /v1/public/*: 2,000 calls per hour; /v1/yql/*: 20,000 calls per hour. • YQL rate limits are subject to the rate limits of other Yahoo! and 3rd-party Web services.