SlideShare a Scribd company logo
1 of 32
1 Jonathan LeBlanc – Technology Evangelist Yahoo! Developer Network Twitter: @jcleblanc
2
3 YQL Query StructureSELECT * FROM Internet
4 YQL Test Console Available At: http://developer.yahoo.com/yql/console
5 Running Queries - SELECT Query Structure SELECTmyColumn, myTitle FROM myTable(0, 50) WHEREmyColumn = 'value' ANDmyTitle = 'title‘ LIMIT3 OFFSET 10 | sort(field='myColumn') | reverse()
6 Running Queries - INSERT / UPDATE / DELETE Modify Data on the Internet Create Tweets, Add Blog Entries, Update Databases Current Tables Using I/U/D Twitter Status, bit.ly URL Shortner, Yahoo! Profile Status / Update  Stream, Amazon  SimpleDB
7 Running Queries - INSERT Query Structure INSERT INTObitly.shorten (login, apiKey, longUrl)  VALUES (’ME', 'API_KEY', 'http://yahoo.com')
8 Running Queries - UPDATE Query Structure UPDATE social.profile.status SET status="Using YQL UPDATE"  WHEREguid=“NJFIDHVPVVISDXZKT7UKED2WHU”
9 Running Queries - DELETE Query Structure DELETE FROM twittertable WHERE tweetid="12345"  AND username="twitter_username"  AND password="twitter_password
10 Running Queries – Sub-selects with the IN clause SELECT * FROM flickr.photos.search WHERE (lat, lon)  IN (SELECT centroid.latitude, centroid.longitude FROM geo.places WHERE text="SFO")
11 Running Queries – Available Tables YQL Command: SHOW Tables Number of Standard Tables: 113 Number of Community Tables: 610 Total Number of Tables: 723 Contribute Tables to:  http://www.github.com/yql/yql-tables/
12 Running Queries – Table Syntax YQL Command: DESC tablename
Running Queries – URL Format http://query.yahooapis.com/v1/yql?[params] http://query.yahooapis.com/v1/public/yql?[params] Params q=[QUERY] format=[XML / JSON]  diagnostics=[true / false] debug=[true / false] env=[.env file link] callback=[function name] 13
14 Running Queries – URL Format http://query.yahooapis.com/v1/yql?[params] http://query.yahooapis.com/v1/public/yql?[params] Params ,[object Object]
format=[XML / JSON / JSONP / JSONP-X]
diagnostics=[true / false]
debug=[true / false]
env=[.env file link]
callback=[function name],[object Object]
16 YQL Open Data TablesWrap Your Own API or Data Source
17 Open Data Tables – XML File Syntax <?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd">         <meta></meta>         <bindings></bindings> </table>
18 Open Data Tables – XML File Syntax <?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd">         <meta></meta>      <bindings></bindings> </table>
19 Open Data Tables – XML File Syntax <?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd">         <meta>         <author>Jonathan LeBlanc</author>                    <description>My Table</description>          <documentationURL>www.site.com</documentationURL>                <sampleQuery>SELECT * FROM {table} </sampleQuery>     </meta>         <bindings></bindings> </table>
20 Open Data Tables – XML File Syntax <?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd">         <meta></meta>     <bindings></bindings> </table>
21 Open Data Tables – XML File Syntax <?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd">         <meta></meta>  <bindings> <select itemPath="" produces="XML" >              <urls>                  <urlenv="all”>http://www.site.com/{user}</url>              </urls>              <inputs>                 <key id="user" type="xs:string" paramType="path"                     required="true" /> </inputs>          </select>      </bindings> </table>
22 Open Data Tables – Invoking a Table Definition The USE clause USE 'http://github.com/yql/yql-tables/raw/master/google/google.buzz.updates.xml' AS buzz.updates;  SELECT * FROM buzz.updates WHERE user='nakedtechnologist'
23 Open Data Tables – .env Files http://datatables.org/alltables.env USE 'http://www.datatables.org/amazon/amazon.ecs.xml' AS amazon.ecs; USE 'http://www.datatables.org/bitly/bit.ly.shorten.xml' AS bit.ly.shorten; USE 'http://www.datatables.org/dopplr/dopplr.auth.xml' AS dopplr.auth; USE 'http://www.datatables.org/dopplr/dopplr.city.info.xml' AS dopplr.city.info;
Google Buzz Table Available At: http://github.com/yql/yql-tables
25 YQL ExecuteExtending Open Data Tables
26 YQL Execute – XML File Syntax Augment data ,[object Object],Create APIs from web pages ,[object Object],Data Transformations ,[object Object],Move business logic of your application to the cloud
27 YQL Execute – XML File Syntax <?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd">         <meta></meta>      <bindings> <select itemPath="" produces="XML" >              <urls></urls>              <inputs></inputs>          </select>      </bindings> </table>
28 YQL Execute – XML File Syntax <?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd">         <meta></meta>      <bindings> <select itemPath="" produces="XML" >              <urls></urls>              <inputs></inputs> <execute></execute>          </select>      </bindings> </table>

More Related Content

Similar to YQL Overview

Architecting Web Services
Architecting Web ServicesArchitecting Web Services
Architecting Web Services
Lorna Mitchell
 
Web Developement Workshop (Oct 2009) Slides
Web Developement Workshop (Oct 2009) SlidesWeb Developement Workshop (Oct 2009) Slides
Web Developement Workshop (Oct 2009) Slides
Manish Sinha
 
OSCON 2004: XML and Apache
OSCON 2004: XML and ApacheOSCON 2004: XML and Apache
OSCON 2004: XML and Apache
Ted Leung
 

Similar to YQL Overview (20)

Solr Presentation
Solr PresentationSolr Presentation
Solr Presentation
 
EJME: Enhanced Journals Made Easy (2011-11-14, KX Bonn)
EJME: Enhanced Journals Made Easy (2011-11-14, KX Bonn)EJME: Enhanced Journals Made Easy (2011-11-14, KX Bonn)
EJME: Enhanced Journals Made Easy (2011-11-14, KX Bonn)
 
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructureLiving in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
 
Html5
Html5Html5
Html5
 
Building Adaptive Payment Systems with YQL
Building Adaptive Payment Systems with YQLBuilding Adaptive Payment Systems with YQL
Building Adaptive Payment Systems with YQL
 
DevDays09 Internet Explorer 8
DevDays09 Internet Explorer 8DevDays09 Internet Explorer 8
DevDays09 Internet Explorer 8
 
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructureLiving in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
 
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructureLiving in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
 
Php Rss
Php RssPhp Rss
Php Rss
 
Internet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian ThilmanyInternet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian Thilmany
 
Struts Portlet
Struts PortletStruts Portlet
Struts Portlet
 
Architecting Web Services
Architecting Web ServicesArchitecting Web Services
Architecting Web Services
 
Introduction to YQL - Talk at HackU 2010, IIT Chennai
Introduction to YQL - Talk at HackU 2010, IIT ChennaiIntroduction to YQL - Talk at HackU 2010, IIT Chennai
Introduction to YQL - Talk at HackU 2010, IIT Chennai
 
Struts2
Struts2Struts2
Struts2
 
Web Developement Workshop (Oct 2009) Slides
Web Developement Workshop (Oct 2009) SlidesWeb Developement Workshop (Oct 2009) Slides
Web Developement Workshop (Oct 2009) Slides
 
Plagger the duct tape of internet
Plagger the duct tape of internetPlagger the duct tape of internet
Plagger the duct tape of internet
 
Xml Zoe
Xml ZoeXml Zoe
Xml Zoe
 
Xml Zoe
Xml ZoeXml Zoe
Xml Zoe
 
CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Ko...
CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Ko...CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Ko...
CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Ko...
 
OSCON 2004: XML and Apache
OSCON 2004: XML and ApacheOSCON 2004: XML and Apache
OSCON 2004: XML and Apache
 

More from Jonathan LeBlanc

More from Jonathan LeBlanc (20)

JavaScript App Security: Auth and Identity on the Client
JavaScript App Security: Auth and Identity on the ClientJavaScript App Security: Auth and Identity on the Client
JavaScript App Security: Auth and Identity on the Client
 
Improving Developer Onboarding Through Intelligent Data Insights
Improving Developer Onboarding Through Intelligent Data InsightsImproving Developer Onboarding Through Intelligent Data Insights
Improving Developer Onboarding Through Intelligent Data Insights
 
Better Data with Machine Learning and Serverless
Better Data with Machine Learning and ServerlessBetter Data with Machine Learning and Serverless
Better Data with Machine Learning and Serverless
 
Best Practices for Application Development with Box
Best Practices for Application Development with BoxBest Practices for Application Development with Box
Best Practices for Application Development with Box
 
Box Platform Overview
Box Platform OverviewBox Platform Overview
Box Platform Overview
 
Box Platform Developer Workshop
Box Platform Developer WorkshopBox Platform Developer Workshop
Box Platform Developer Workshop
 
Modern Cloud Data Security Practices
Modern Cloud Data Security PracticesModern Cloud Data Security Practices
Modern Cloud Data Security Practices
 
Box Authentication Types
Box Authentication TypesBox Authentication Types
Box Authentication Types
 
Understanding Box UI Elements
Understanding Box UI ElementsUnderstanding Box UI Elements
Understanding Box UI Elements
 
Understanding Box applications, tokens, and scoping
Understanding Box applications, tokens, and scopingUnderstanding Box applications, tokens, and scoping
Understanding Box applications, tokens, and scoping
 
The Future of Online Money: Creating Secure Payments Globally
The Future of Online Money: Creating Secure Payments GloballyThe Future of Online Money: Creating Secure Payments Globally
The Future of Online Money: Creating Secure Payments Globally
 
Modern API Security with JSON Web Tokens
Modern API Security with JSON Web TokensModern API Security with JSON Web Tokens
Modern API Security with JSON Web Tokens
 
Creating an In-Aisle Purchasing System from Scratch
Creating an In-Aisle Purchasing System from ScratchCreating an In-Aisle Purchasing System from Scratch
Creating an In-Aisle Purchasing System from Scratch
 
Secure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication MediaSecure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication Media
 
Protecting the Future of Mobile Payments
Protecting the Future of Mobile PaymentsProtecting the Future of Mobile Payments
Protecting the Future of Mobile Payments
 
Node.js Authentication and Data Security
Node.js Authentication and Data SecurityNode.js Authentication and Data Security
Node.js Authentication and Data Security
 
PHP Identity and Data Security
PHP Identity and Data SecurityPHP Identity and Data Security
PHP Identity and Data Security
 
Secure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication MediaSecure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication Media
 
Protecting the Future of Mobile Payments
Protecting the Future of Mobile PaymentsProtecting the Future of Mobile Payments
Protecting the Future of Mobile Payments
 
Future of Identity, Data, and Wearable Security
Future of Identity, Data, and Wearable SecurityFuture of Identity, Data, and Wearable Security
Future of Identity, Data, and Wearable Security
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

YQL Overview

  • 1. 1 Jonathan LeBlanc – Technology Evangelist Yahoo! Developer Network Twitter: @jcleblanc
  • 2. 2
  • 3. 3 YQL Query StructureSELECT * FROM Internet
  • 4. 4 YQL Test Console Available At: http://developer.yahoo.com/yql/console
  • 5. 5 Running Queries - SELECT Query Structure SELECTmyColumn, myTitle FROM myTable(0, 50) WHEREmyColumn = 'value' ANDmyTitle = 'title‘ LIMIT3 OFFSET 10 | sort(field='myColumn') | reverse()
  • 6. 6 Running Queries - INSERT / UPDATE / DELETE Modify Data on the Internet Create Tweets, Add Blog Entries, Update Databases Current Tables Using I/U/D Twitter Status, bit.ly URL Shortner, Yahoo! Profile Status / Update Stream, Amazon SimpleDB
  • 7. 7 Running Queries - INSERT Query Structure INSERT INTObitly.shorten (login, apiKey, longUrl) VALUES (’ME', 'API_KEY', 'http://yahoo.com')
  • 8. 8 Running Queries - UPDATE Query Structure UPDATE social.profile.status SET status="Using YQL UPDATE" WHEREguid=“NJFIDHVPVVISDXZKT7UKED2WHU”
  • 9. 9 Running Queries - DELETE Query Structure DELETE FROM twittertable WHERE tweetid="12345" AND username="twitter_username" AND password="twitter_password
  • 10. 10 Running Queries – Sub-selects with the IN clause SELECT * FROM flickr.photos.search WHERE (lat, lon) IN (SELECT centroid.latitude, centroid.longitude FROM geo.places WHERE text="SFO")
  • 11. 11 Running Queries – Available Tables YQL Command: SHOW Tables Number of Standard Tables: 113 Number of Community Tables: 610 Total Number of Tables: 723 Contribute Tables to: http://www.github.com/yql/yql-tables/
  • 12. 12 Running Queries – Table Syntax YQL Command: DESC tablename
  • 13. Running Queries – URL Format http://query.yahooapis.com/v1/yql?[params] http://query.yahooapis.com/v1/public/yql?[params] Params q=[QUERY] format=[XML / JSON] diagnostics=[true / false] debug=[true / false] env=[.env file link] callback=[function name] 13
  • 14.
  • 15. format=[XML / JSON / JSONP / JSONP-X]
  • 19.
  • 20. 16 YQL Open Data TablesWrap Your Own API or Data Source
  • 21. 17 Open Data Tables – XML File Syntax <?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd"> <meta></meta> <bindings></bindings> </table>
  • 22. 18 Open Data Tables – XML File Syntax <?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd"> <meta></meta> <bindings></bindings> </table>
  • 23. 19 Open Data Tables – XML File Syntax <?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd"> <meta> <author>Jonathan LeBlanc</author> <description>My Table</description> <documentationURL>www.site.com</documentationURL> <sampleQuery>SELECT * FROM {table} </sampleQuery> </meta> <bindings></bindings> </table>
  • 24. 20 Open Data Tables – XML File Syntax <?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd"> <meta></meta> <bindings></bindings> </table>
  • 25. 21 Open Data Tables – XML File Syntax <?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd"> <meta></meta> <bindings> <select itemPath="" produces="XML" > <urls> <urlenv="all”>http://www.site.com/{user}</url> </urls> <inputs> <key id="user" type="xs:string" paramType="path" required="true" /> </inputs> </select> </bindings> </table>
  • 26. 22 Open Data Tables – Invoking a Table Definition The USE clause USE 'http://github.com/yql/yql-tables/raw/master/google/google.buzz.updates.xml' AS buzz.updates; SELECT * FROM buzz.updates WHERE user='nakedtechnologist'
  • 27. 23 Open Data Tables – .env Files http://datatables.org/alltables.env USE 'http://www.datatables.org/amazon/amazon.ecs.xml' AS amazon.ecs; USE 'http://www.datatables.org/bitly/bit.ly.shorten.xml' AS bit.ly.shorten; USE 'http://www.datatables.org/dopplr/dopplr.auth.xml' AS dopplr.auth; USE 'http://www.datatables.org/dopplr/dopplr.city.info.xml' AS dopplr.city.info;
  • 28. Google Buzz Table Available At: http://github.com/yql/yql-tables
  • 29. 25 YQL ExecuteExtending Open Data Tables
  • 30.
  • 31. 27 YQL Execute – XML File Syntax <?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd"> <meta></meta> <bindings> <select itemPath="" produces="XML" > <urls></urls> <inputs></inputs> </select> </bindings> </table>
  • 32. 28 YQL Execute – XML File Syntax <?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd"> <meta></meta> <bindings> <select itemPath="" produces="XML" > <urls></urls> <inputs></inputs> <execute></execute> </select> </bindings> </table>
  • 33. Global Disaster Alert and Coordination System Table Available At: http://github.com/yql/yql-tables
  • 34. 30 Conclusion Build applications faster (and that run faster)
  • 35. This Presentation http://www.slideshare.net/jcleblanc/yql-overview YQL Documentation http://developer.yahoo.com/yql YQL Console http://developer.yahoo.com/yql/console YQL Github Account (Contribute Tables) http://github.com/yql/yql-tables