SlideShare a Scribd company logo
1 of 77
YQL
A Query Language for the Web




                        Jonathan Trevor (jtrevor@yahoo-inc.com)
Application ?
Application ?
Application ?
Application ?
Application ?
Application =
data manipulation
Application =
data manipulation
Application =           +
                data visualization
dev
dev
dev
dev
dev
dev
dev
dev
dev
dev
dev
var map = new
      YMap(document.getElementById('map'));
      …
      var currentGeoPoint = new
dev
      YGeoPoint( _c.Lat, _c.Lon );
      map.addMarker(currentGeoPoint);
      …
var map = new
      YMap(document.getElementById('map'));
      …
      var currentGeoPoint = new
dev
      YGeoPoint( _c.Lat, _c.Lon );
      map.addMarker(currentGeoPoint);
      …



      …
      if (flickcurl_prepare(fc,
      quot;flickr.photos.geo.correctLocationquot;,
      parameters, count)) { … }
      …
var map = new
      YMap(document.getElementById('map'));
      …
      var currentGeoPoint = new
dev
      YGeoPoint( _c.Lat, _c.Lon );
      map.addMarker(currentGeoPoint);
      …



      …
      if (flickcurl_prepare(fc,
      quot;flickr.photos.geo.correctLocationquot;,
      parameters, count)) { … }
      …



      http://search.yahooapis.com/
      ImageSearchService/V1/imageSearch?
      appid=YahooDemo&query=Corvette&results=2
var map = new
      YMap(document.getElementById('map'));
      …
      var currentGeoPoint = new
dev
      YGeoPoint( _c.Lat, _c.Lon );
      map.addMarker(currentGeoPoint);
      …



      …
      if (flickcurl_prepare(fc,
      quot;flickr.photos.geo.correctLocationquot;,
      parameters, count)) { … }
      …



      http://search.yahooapis.com/
      ImageSearchService/V1/imageSearch?
      appid=YahooDemo&query=Corvette&results=2




      http://weather.yahooapis.com/
      forecastrss?p=FRXX0076&u=c
var map = new
      YMap(document.getElementById('map'));
      …
      var currentGeoPoint = new
dev
      YGeoPoint( _c.Lat, _c.Lon );
      map.addMarker(currentGeoPoint);
      …



      …
      if (flickcurl_prepare(fc,
      quot;flickr.photos.geo.correctLocationquot;,
      parameters, count)) { … }
      …



      http://search.yahooapis.com/
      ImageSearchService/V1/imageSearch?
      appid=YahooDemo&query=Corvette&results=2




      http://weather.yahooapis.com/
      forecastrss?p=FRXX0076&u=c
var map = new
      YMap(document.getElementById('map'));
      …
      var currentGeoPoint = new
dev
      YGeoPoint( _c.Lat, _c.Lon );
      map.addMarker(currentGeoPoint);
      …



      …
      if (flickcurl_prepare(fc,
      quot;flickr.photos.geo.correctLocationquot;,
      parameters, count)) { … }
      …



      http://search.yahooapis.com/
      ImageSearchService/V1/imageSearch?
      appid=YahooDemo&query=Corvette&results=2




      http://weather.yahooapis.com/
      forecastrss?p=FRXX0076&u=c
var map = new
      YMap(document.getElementById('map'));
      …
      var currentGeoPoint = new
dev
      YGeoPoint( _c.Lat, _c.Lon );
      map.addMarker(currentGeoPoint);
      …



      …
      if (flickcurl_prepare(fc,
      quot;flickr.photos.geo.correctLocationquot;,
      parameters, count)) { … }
      …



      http://search.yahooapis.com/
      ImageSearchService/V1/imageSearch?
      appid=YahooDemo&query=Corvette&results=2




      http://weather.yahooapis.com/
      forecastrss?p=FRXX0076&u=c
var map = new
      YMap(document.getElementById('map'));
      …
      var currentGeoPoint = new
dev
      YGeoPoint( _c.Lat, _c.Lon );
      map.addMarker(currentGeoPoint);
      …



      …
      if (flickcurl_prepare(fc,
      quot;flickr.photos.geo.correctLocationquot;,
      parameters, count)) { … }
      …



      http://search.yahooapis.com/
      ImageSearchService/V1/imageSearch?
      appid=YahooDemo&query=Corvette&results=2




      http://weather.yahooapis.com/
      forecastrss?p=FRXX0076&u=c
var map = new
          YMap(document.getElementById('map'));
          …
          var currentGeoPoint = new
dev
          YGeoPoint( _c.Lat, _c.Lon );
          map.addMarker(currentGeoPoint);


      ?
          …



          …
          if (flickcurl_prepare(fc,


      ?
          quot;flickr.photos.geo.correctLocationquot;,
          parameters, count)) { … }
          …



      ?   http://search.yahooapis.com/
          ImageSearchService/V1/imageSearch?
          appid=YahooDemo&query=Corvette&results=2


      ?
          http://weather.yahooapis.com/
          forecastrss?p=FRXX0076&u=c
var map = new
          YMap(document.getElementById('map'));
          …
          var currentGeoPoint = new
dev
          YGeoPoint( _c.Lat, _c.Lon );
          map.addMarker(currentGeoPoint);


      ?
          …



          …
          if (flickcurl_prepare(fc,


      ?
          quot;flickr.photos.geo.correctLocationquot;,
          parameters, count)) { … }
          …



      ?   http://search.yahooapis.com/
          ImageSearchService/V1/imageSearch?
          appid=YahooDemo&query=Corvette&results=2


      ?
          http://weather.yahooapis.com/
          forecastrss?p=FRXX0076&u=c
Yahoo!    My Yahoo!   Mail                                                                                                             Welcome, guest       Sign In

                                                                                                                                                         Search


                                                     var map = new
MY PROJECTS            APIs & WEB SERVICES          RESOURCES            SUPPORT

                                                     YMap(document.getElementById('map'));
YDN       Maps Suite     AJAX Maps


Yahoo! Maps Web Services - AJAX API Getting                                                                       READY TO GET STARTED?
                                                     …                                                                                                            You aren't signed in      Sign In   Help

Started Guide                                                                 Get an App ID
                                                     var currentGeoPoint = new
           dev Home     The Tour     Sign Up     Explore                                    Search
Learn the fundamentals of the Yahoo! Maps AJAX API and start creating your own maps. This page contains:
                                                     YGeoPoint( _c.Lat, _c.Lon );
Introduction and Prerequisites                                             Yahoo! Maps Cheatsheets
               Flickr Services                                                                                 RECENT BLOG ARTICLES
                                                                                    Yahoo!    My Yahoo!  Mail
Examples                                                                                                                                                                                                                             Welcome, guest            Sign In

               API Documentation Feeds Your API Keys map.addMarker(currentGeoPoint);
      Display a Yahoo! Map




                                                              ?
                                                      Apply for a new API Key
                                                                                                                                                                                                                                                       Search
      Add controls to your Yahoo! Map                                                                          Leonardo da Vinci: Hacker
                                                     …                                                         January 24, 2009
      Add a logger to a Yahoo! Map
      Place a marker on a Yahoo! Map
                                                                                   MY PROJECTS          APIs & WEB SERVICES             RESOURCES            SUPPORT
      Draw Polylines on a Yahoo! Map                                                                           Whaddyathink? & the Yahoo! Application
                                      flickr.places.getPlaceTypes
      Place Smart Markers on a Yahoo! Map                                                                      Platform
                                                                                  YDN       Weather RSS Feed
      Add multiple custom markers on Yahoo! Map                                                                January 22, 2009
      Traffic information overlay
                                                           Yahoo! Weather RSS Feed
      Yahoo! Pipes RSS output information overlay                                                              Making the new Yahoo! Currency Converter
                                                                                                                                    Yahoo!    My Yahoo!   Mail                                                                                                                                 Welcome, guest             Sign In
                                        Fetches a list of available place types for Flickr.
      Yahoo! Pipes JSON output information overlay                                                             accessible
                                                                           YMap
      Local search results overlay                                                The Weather RSS feed enables you
                                                                                                               Januaryto get up-to-date weather information for your location. You can save this
                                                                                                                        21, 2009
                                                                                        …                                                                                                                                                                                                                           Search
      Overlay GeoRSS XML data
                                                                                  feed in My Yahoo! or your favorite feed aggregator, or incorporate the RSS data into your own web site or client
      Overlay custom objects at YGeoPoint location
                                                                                  application. The Weather RSSRetrievingdynamically-generatedfrom based on zip code or Location ID.
                                                                                                                feed is a and displaying data feed
                                      Authentication
      Overlay custom objects at YCoordPoint location
                                                                                        if (flickcurl_prepare(fc,
                                                                                                               Wikipedia with YQL PROJECTS
                                                                                                                                   MY                    APIs & WEB SERVICES             RESOURCES        SUPPORT
      Overlay polyline on Yahoo! Map
                                                                                  This page describes the format of the 18, 2009 URL and the RSS response for developers. It contains these
                                                                                                               January request




                                                              ?
      Export Yahoo! Map in GeoRSS format                                                                                           YDN       Image Search Documentation for Yahoo! Search Web Services
                                        This method does not require authentication.
                                                                                        quot;flickr.photos.geo.correctLocationquot;,
                                                                                  sections:
      GeoRSS overlay with polyline

                                                                                                     Image Search Documentation for Yahoo! Search
      Get zoom level given radius from center                                                                                                                                                                                                                       READY TO GET STARTED?
                                                                                       RSS Request
                                      Arguments
      Custom position of controls
                                                                                        parameters, count)) { … }                                                                                                                                                   By applying for an Application ID for this service, you
                                                                                            Summary
      Change Marker Images Dynamically                                                                                                                                                                                                                              hereby agree to the Terms of Use
                                                                                            Request Parameters
      Use YMapTypeControl to position map types
                                                                                                     Submitting Image Queries
                                                                                        …
                                        api_key (Required)
Other Features of the Yahoo! Maps AJAX API                                             RSS Response
                                                                           YEvent, YGeoRSS, YMarker
                                                                                                                                                                                                                                                                                       Get an App ID
Rate Limit                                     Your API application key. See here for moreTop-Level Elements
                                                                                              details.                             The Image Search Web Service allows you to search the Internet for images.
Terms of Service                                                                            Channel Elements
Support & Community
                                                                                            Image Elements




                                                              ?
                                      Example Response                                      Item Elements
                                                                                                                                     Request URL
Download all of the cheatsheets and example code in the Yahoo
                                                                                            Condition Codes                                                                                                                                                                                                             view all
                                                                                                                                                                                                                                                                    YAHOO! GROUPS DISCUSSIONS
Maps API Reference Bundle.
                                                                                                                                   http://search.yahooapis.com/ImageSearchService/V1/imageSearch
                                         <place_types>                                 Examples
                                                                                                                                                                                                                                                                    yahoo local search code in php
For detailed descriptions of the classes and methods in the API, place_type_id=quot;22quot;>neighbourhood</place_type>
                                              <place_type                              Terms of Use
                                                                                                                                                                                                                                                                    Tue, 27 Jan 2009
check out v3.8 Reference Manual.              <place_type place_type_id=quot;7quot;>locality</place_type>
                                                                                        http://search.yahooapis.com/       Request parameters
                                          <place_type          place_type_id=quot;9quot;>county</place_type>
                                                                              RSS Request                                                                                                                                                                           My Web Search API shut down
                                          <place_type          place_type_id=quot;8quot;>region</place_type>
                                                                       Remaining, Supporting Classes                                                                                                                                                                announcement
                                                                                                                           See information on constructing REST queries
                                                                                        ImageSearchService/V1/imageSearch?
                                          <place_type          place_type_id=quot;12quot;>country</place_type>
                                                                              The Weather RSS feed request follows simple HTTP GET syntax: start with a base URL and then add                                                                                       Wed, 21 Jan 2009
Introduction and              Prerequisites
                                          <place_type          place_type_id=quot;29quot;>continent</place_type> (?). Multiple parameters are separated by an ampersand (&).
                                                                              parameters and values after a question mark              Parameter     Value                  Description
                                      </place_types>
                                                                                        appid=YahooDemo&query=Corvette&results=2                                                                                                                                    Re: Site Explorer API returns 999 Rate Limit
                                                                                                                                      appid        string (required)      The application ID. See Application IDs for more information.
The Yahoo! AJAX Maps API lets developers add maps to their web sites using DHTML and JavaScript®. the Weather RSS feed is
                                                                                       The base URL for Maps                                                                                                                                                        Exceeded
are fully embeddable and scriptable using the JavaScript programming language. Yahoo! Maps AS-Flash API's                             query        string (required)      The query to search for. Use + to include terms, - to exclude terms, and




                                                              ?
                                                                                                                                                                                                                                                                    Wed, 21 Jan 2009
                                      Error Codes                                                                                                                         put quotes around quot;exact phrasequot;.
built-in geocoder means that you can specify a physical address or latitude/longitude coordinates for your map's
                                                                                       http://weather.yahooapis.com/forecastrss
location, as you like.                                                                                                                type         all (default), any, or The kind of search to submit:                                                             Reminder: Old obsolete versions of Local
                                                                                       In this section, Summary shows how to make an RSS request with different parameters; Request Parameters
                                                                                                                                                   phrase                                                                                                           Search (V1, V2) shutting do
In order to create and test applications 100: Yahoo! Maps AJAX API, you'll need to use a supported summarizing those parameters.
                                         using Invalid API Key                         shows a table web                                                                                                                                                            Mon, 19 Jan 2009
                                                                                                                                                                          all returns results with all query terms.
                                                The API key passed was not valid or has expired.                                                                          any returns results with one or more of the query terms.
browser: Firefox 2, Internet Explorer 6 or 7, Opera 9 or Safari 3. Newer versions of these browsers are also
                                                                                                                                                                          phrase returns results containing the query terms as a phrase.
supported. You can code your JavaScript applications usingcurrently unavailable
                                         105: Service your favorite text editor or IDE.
                                                                                       SUMMARY                                        results      integer: default 10, The number of results to return.
                                                The requested service is temporarily unavailable.
                                                                                                                                                   max 50
An application ID is required to use the Yahoo! Maps AJAX API. You can get an application ID here.
                                                                                       The Weather RSS feed request follows simple HTTP GET syntax: start with a base URL and then add
                                      111: Format quot;xxxquot; not found
                                                                                                                                       start         integer: default 1    by an starting result position to return (1-based). The finishing position (start
                                                                                                                                                                            The ampersand (&). For
                                                                                      parameters and values after a question mark (?). Multiple parameters are separated
For best results, you should launch your web pagesrequested response format was not found. applications
                                                The from a web server. However, it's possible to run                                                                        + results - 1) cannot exceed 1000.
                                                                                      the Weather RSS feed there are two parameters:
directly from your hard drive by double-clickingMethod This can be donefound
                                       112: on them. quot;xxxquot; not by lowering the security settings in                                    format        any (default), bmp,    Specifies the kind of image file to search for.
the Internet Explorer browser or by setting the The requested method was not found. p for location.
                                                UniversalBrowserRead property in Firefox.                                                            gif, jpeg, png
                                                                                          u for degrees units (Fahrenheit or Celsius). adult_ok
                                                                                        http://weather.yahooapis.com/                                no value or 1          The service filters out adult content by default. Enter a 1 to allow adult
                                       114: Invalid SOAP envelope
                                                                                                                                                                            content.
                                             The SOAP envelope send in the requestlocationnot be parsed. required. Use this parameter to indicate the location for the weather forecast as a
                                                                                 The could parameter p is
Displaying a Yahoo! Map                                                                                                        coloration     any (default), color, The service returns only the images of the coloration specified (color or
                                                                                 zip code or Location ID.
                                                                                        forecastrss?p=FRXX0076&u=c
                                    115: Invalid XML-RPC Method Call
                                                                                                                                              bw                     black-and-white).
All the API classes and methods necessary to interact with Yahoo! Mapsdocument couldyour application when
                                             The XML-RPC request are availablehttp://weather.yahooapis.com/forecastrss?p=location
                                                                                  to not be parsed.
                                                                                                                               site           string: default no     A domain to restrict your searches to (e.g. www.yahoo.com). You may
you include Yahoo! Maps AJAX API library in your web page.This example uses the demonstration application
                                                                                                                                          value                             submit up to 30 values (site=www.yahoo.com&site=www.cnn.com).
ID quot;YD-eQRpTl0_JX2E95l_xAFs5UwZUlNQhhn7lj1Hquot;; you cannot use this Application Forand must requestweather for Yahoo! Headquarters in Sunnyvale, CA, use the zip
                                                                                 ID example, to get one                                                                    code for Sunnyvale
                                      API Explorer                                                                          output        string: xml                       The format for the output. If json is requested, the results will be returned
here.                                                                            (94089):                                                 (default), json, php              in JSON format. If php is requested, the results will be returned in
                                                                                                                                                                            Serialized PHP format.
                             API Explorer : flickr.places.getPlaceTypes
  <html>                                                           http://weather.yahooapis.com/forecastrss?p=94089
                                                                                                                 callback string                                            The name of the callback function to wrap around the JSON data. The
  <head>
                                                                                                                                                                            following characters are allowed: A-Z a-z 0-9 . [] and _. If output=json has
                                                                   Or use the Location ID for Sunnyvale (USCA1116):
  <b><script type=quot;text/javascriptquot;
                                                                                                                                                                            not been requested, this parameter has no effect. More information on the
  src=quot;http://api.maps.yahoo.com/ajaxymap?v=3.8&appid=YD-
YQL
select * from internet
var map = new
      YMap(document.getElementById('map'));
      …
      var currentGeoPoint = new
dev
      YGeoPoint( _c.Lat, _c.Lon );
      map.addMarker(currentGeoPoint);
      …



      …
      if (flickcurl_prepare(fc,
      quot;flickr.photos.geo.correctLocationquot;,
      parameters, count)) { … }
      …



      http://search.yahooapis.com/
      ImageSearchService/V1/imageSearch?
      appid=YahooDemo&query=Corvette&results=2




      http://weather.yahooapis.com/
      forecastrss?p=FRXX0076&u=c
dev




      YQL
dev




      YQL
dev



       Bindings




      YQL
dev



       Bindings




      YQL
dev



                  Bindings




                 YQL
      YQL stmt
dev



                  Bindings




                 YQL
      YQL stmt
      select
dev



                  Bindings




                 YQL
      YQL stmt
      select
      desc
dev



                  Bindings




                 YQL
      YQL stmt
      select
      desc
      show
Why YQL?
Thousands of Web Services and sources that
provide valuable data
Require Developers to read documentation and form
URLs/queries.
Data is isolated
Needs combining, tweaking, shaping even after it
gets to the developer.
YQL
SQL-Like Language
    Synonymous with Data access
    Familiar to developers
    Expressive enough to get the right data.
Self Describing - show, desc table
Allows you to query, filter and join data across
WebServices.
YQL Statement Basics
Verbs

 show: lists the supported tables
 desc: describes the structure of a table
 select: fetches data
 use: use an Open Data Table


 show tables
 desc social.contacts
YQL Select Statement
Syntax


 SELECT what
 FROM collection
 WHERE filter condition
 IN (sub-select)
 LIMIT n OFFSET n
Demo:
developer.yahoo.com/yql/
Sounds Good.
But what about my Web
Service?
Can I add my data tables?
Open Data Tables



 YQL
Open Data Tables



 YQL
Open Data Tables



 YQL
Open Data Tables



 YQL
Open Data Tables
       Bindings




 YQL
Open Data Tables



 YQL
Open Data Tables



 YQL
Open Data Tables

       Map YQL to Endpoint


 YQL
Open Data Tables



 YQL
Open Data Tables



 YQL
Open Data Tables
Open Data Tables
Open Data Tables

 Schema defines mapping between YQL and
 Endpoint
 Keys can either be query, path or matrix parameters
 Keys can be marked as required
 YQL Compiler validates existence of required keys
Execute


 Run JavaScript as part of your Open Data Table
 Manipulate input and output data
 Query multiple YQL tables and mash them together
Execute
USE Verb
use ‘http://url-to-def.xml’ as tableName;
select * from tableName where key=‘value’...


 Imports the Table definition
 Makes it available to following statements as
 tableName
 desc tableName - describes the def
 Acts like a First Class Data Source just like
 other YQL Tables.
Environment files
 Text files that contain multiple table “use” statements
 Useful for defining your own default working sets of
 tables
   No need to “use” per call
Using environment files
http://query.yahooapis.com/v1/yql?
q=...&env=http://...
http://developer.yahoo.com/v1/yql?
env=http://...

Add a query parameter to the web service
    or console call
Shows up in console table list / show tables
http://developer.yahoo.com/yql/console/?env=http://
github.com/spullara/yql-tables/raw/
ef685688d649a7514ebd27722366b2918d966573/alltables.env
Demo:
developer.yahoo.com/yql/
Accessing YQL
OAuth Endpoint
http://query.yahooapis.com/v1/yql?q=...

Public Endpoint
http://query.yahooapis.com/v1/public/yql?q=

YQL Console
http://developer.yahoo.com/yql/console
Accessing YQL
YQL Via Pipes
YQL Console
YQL Console
Conclusion


 build applications more easily
  less lines of code
  consistent and familiar syntax for all data access
  iterative environment for developing the query
Conclusion

 build applications that run faster
  service in the cloud does the work
  with smaller network footprint
    fewer (client) calls
    smaller data amounts
    closer to the data, fatter pipes
data
One API : YQL
Questions?
           @sh1mmer

http://speakerrate.com/sh1mmer

More Related Content

Similar to YQL - A Query Language for the Web

YQL: Select * from internet - Campus Party 2010
YQL: Select * from internet - Campus Party 2010YQL: Select * from internet - Campus Party 2010
YQL: Select * from internet - Campus Party 2010Pedro Valente
 
Mobile And The Latency Trap
Mobile And The Latency TrapMobile And The Latency Trap
Mobile And The Latency TrapTom Croucher
 
Yql Intercon 09
Yql Intercon 09Yql Intercon 09
Yql Intercon 09bzanchet
 
YQL and YUI - Javascript from server to user
YQL and YUI - Javascript from server to userYQL and YUI - Javascript from server to user
YQL and YUI - Javascript from server to userTom Croucher
 
Y Map Mashup Camp
Y Map Mashup CampY Map Mashup Camp
Y Map Mashup CampJinho Jung
 
Google MAP API
Google MAP APIGoogle MAP API
Google MAP APIEric Lee
 
How to avoid the latency trap and lessons about software design
How to avoid the latency trap and lessons  about software designHow to avoid the latency trap and lessons  about software design
How to avoid the latency trap and lessons about software designTom Croucher
 
GeoTechTalk InkSatogaeri Project
GeoTechTalk InkSatogaeri ProjectGeoTechTalk InkSatogaeri Project
GeoTechTalk InkSatogaeri ProjectKentaro Ishimaru
 
HTML5勉強会#23_GeoHex
HTML5勉強会#23_GeoHexHTML5勉強会#23_GeoHex
HTML5勉強会#23_GeoHexTadayasu Sasada
 
MashUp Mania: How Reebok Created the Ultimate Mashup and You Can Too
MashUp Mania: How Reebok Created the Ultimate Mashup and You Can TooMashUp Mania: How Reebok Created the Ultimate Mashup and You Can Too
MashUp Mania: How Reebok Created the Ultimate Mashup and You Can TooMolecular Inc
 
Cross Domain Web
Mashups with JQuery and Google App Engine
Cross Domain Web
Mashups with JQuery and Google App EngineCross Domain Web
Mashups with JQuery and Google App Engine
Cross Domain Web
Mashups with JQuery and Google App EngineAndy McKay
 
Hands on with the Google Maps Data API
Hands on with the Google Maps Data APIHands on with the Google Maps Data API
Hands on with the Google Maps Data APIss318
 
Sirius Web Advanced : Customize and Extend the Platform
Sirius Web Advanced : Customize and Extend the PlatformSirius Web Advanced : Customize and Extend the Platform
Sirius Web Advanced : Customize and Extend the PlatformObeo
 

Similar to YQL - A Query Language for the Web (20)

Yahoo! YQL
Yahoo! YQLYahoo! YQL
Yahoo! YQL
 
YQL: Select * from internet - Campus Party 2010
YQL: Select * from internet - Campus Party 2010YQL: Select * from internet - Campus Party 2010
YQL: Select * from internet - Campus Party 2010
 
Mobile And The Latency Trap
Mobile And The Latency TrapMobile And The Latency Trap
Mobile And The Latency Trap
 
Yql Intercon 09
Yql Intercon 09Yql Intercon 09
Yql Intercon 09
 
YQL and YUI - Javascript from server to user
YQL and YUI - Javascript from server to userYQL and YUI - Javascript from server to user
YQL and YUI - Javascript from server to user
 
Y Map Mashup Camp
Y Map Mashup CampY Map Mashup Camp
Y Map Mashup Camp
 
Google MAP API
Google MAP APIGoogle MAP API
Google MAP API
 
Seti 09
Seti 09Seti 09
Seti 09
 
How to avoid the latency trap and lessons about software design
How to avoid the latency trap and lessons  about software designHow to avoid the latency trap and lessons  about software design
How to avoid the latency trap and lessons about software design
 
GeoTechTalk InkSatogaeri Project
GeoTechTalk InkSatogaeri ProjectGeoTechTalk InkSatogaeri Project
GeoTechTalk InkSatogaeri Project
 
Yandex Maps API
Yandex Maps APIYandex Maps API
Yandex Maps API
 
Google Maps Api
Google Maps ApiGoogle Maps Api
Google Maps Api
 
YQL
YQLYQL
YQL
 
HTML5勉強会#23_GeoHex
HTML5勉強会#23_GeoHexHTML5勉強会#23_GeoHex
HTML5勉強会#23_GeoHex
 
MashUp Mania: How Reebok Created the Ultimate Mashup and You Can Too
MashUp Mania: How Reebok Created the Ultimate Mashup and You Can TooMashUp Mania: How Reebok Created the Ultimate Mashup and You Can Too
MashUp Mania: How Reebok Created the Ultimate Mashup and You Can Too
 
Cross Domain Web
Mashups with JQuery and Google App Engine
Cross Domain Web
Mashups with JQuery and Google App EngineCross Domain Web
Mashups with JQuery and Google App Engine
Cross Domain Web
Mashups with JQuery and Google App Engine
 
YAP / Open Mail Overview
YAP / Open Mail OverviewYAP / Open Mail Overview
YAP / Open Mail Overview
 
Slide Sahre
Slide SahreSlide Sahre
Slide Sahre
 
Hands on with the Google Maps Data API
Hands on with the Google Maps Data APIHands on with the Google Maps Data API
Hands on with the Google Maps Data API
 
Sirius Web Advanced : Customize and Extend the Platform
Sirius Web Advanced : Customize and Extend the PlatformSirius Web Advanced : Customize and Extend the Platform
Sirius Web Advanced : Customize and Extend the Platform
 

More from Tom Croucher

Using Node.js to Build Great Streaming Services - HTML5 Dev Conf
Using Node.js to  Build Great  Streaming Services - HTML5 Dev ConfUsing Node.js to  Build Great  Streaming Services - HTML5 Dev Conf
Using Node.js to Build Great Streaming Services - HTML5 Dev ConfTom Croucher
 
Streams are Awesome - (Node.js) TimesOpen Sep 2012
Streams are Awesome - (Node.js) TimesOpen Sep 2012 Streams are Awesome - (Node.js) TimesOpen Sep 2012
Streams are Awesome - (Node.js) TimesOpen Sep 2012 Tom Croucher
 
Using Node.js to improve the performance of Mobile apps and Mobile web
Using Node.js to improve  the performance of  Mobile apps and Mobile webUsing Node.js to improve  the performance of  Mobile apps and Mobile web
Using Node.js to improve the performance of Mobile apps and Mobile webTom Croucher
 
Writing robust Node.js applications
Writing robust Node.js applicationsWriting robust Node.js applications
Writing robust Node.js applicationsTom Croucher
 
Creating the Internet of Things with JavaScript - Fluent Conf
Creating the Internet of Things with JavaScript - Fluent ConfCreating the Internet of Things with JavaScript - Fluent Conf
Creating the Internet of Things with JavaScript - Fluent ConfTom Croucher
 
Using Node.js to make HTML5 work for everyone
Using Node.js to make HTML5 work for everyone Using Node.js to make HTML5 work for everyone
Using Node.js to make HTML5 work for everyone Tom Croucher
 
A million connections and beyond - Node.js at scale
A million connections and beyond - Node.js at scaleA million connections and beyond - Node.js at scale
A million connections and beyond - Node.js at scaleTom Croucher
 
OSCON 2011 - Node.js Tutorial
OSCON 2011 - Node.js TutorialOSCON 2011 - Node.js Tutorial
OSCON 2011 - Node.js TutorialTom Croucher
 
Lessons from a coding veteran - Web Directions @Media
Lessons from a coding veteran - Web Directions @MediaLessons from a coding veteran - Web Directions @Media
Lessons from a coding veteran - Web Directions @MediaTom Croucher
 
Multi-tiered Node Architectures - JSConf 2011
Multi-tiered Node Architectures - JSConf 2011Multi-tiered Node Architectures - JSConf 2011
Multi-tiered Node Architectures - JSConf 2011Tom Croucher
 
A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...Tom Croucher
 
A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...Tom Croucher
 
How to stop writing spaghetti code
How to stop writing spaghetti codeHow to stop writing spaghetti code
How to stop writing spaghetti codeTom Croucher
 
Doing Horrible Things with DNS - Web Directions South
Doing Horrible Things with DNS - Web Directions SouthDoing Horrible Things with DNS - Web Directions South
Doing Horrible Things with DNS - Web Directions SouthTom Croucher
 
Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup
Doing Horrible Things to DNS in the Name of Science - SF Performance MeetupDoing Horrible Things to DNS in the Name of Science - SF Performance Meetup
Doing Horrible Things to DNS in the Name of Science - SF Performance MeetupTom Croucher
 
JavaScript is the new black - Why Node.js is going to rock your world - Web 2...
JavaScript is the new black - Why Node.js is going to rock your world - Web 2...JavaScript is the new black - Why Node.js is going to rock your world - Web 2...
JavaScript is the new black - Why Node.js is going to rock your world - Web 2...Tom Croucher
 
How to stop writing spaghetti code - JSConf.eu 2010
How to stop writing spaghetti code - JSConf.eu 2010How to stop writing spaghetti code - JSConf.eu 2010
How to stop writing spaghetti code - JSConf.eu 2010Tom Croucher
 
Node.js and How JavaScript is Changing Server Programming
Node.js and How JavaScript is Changing Server Programming  Node.js and How JavaScript is Changing Server Programming
Node.js and How JavaScript is Changing Server Programming Tom Croucher
 
Server Side JavaScript - You ain't seen nothing yet
Server Side JavaScript - You ain't seen nothing yetServer Side JavaScript - You ain't seen nothing yet
Server Side JavaScript - You ain't seen nothing yetTom Croucher
 

More from Tom Croucher (20)

Using Node.js to Build Great Streaming Services - HTML5 Dev Conf
Using Node.js to  Build Great  Streaming Services - HTML5 Dev ConfUsing Node.js to  Build Great  Streaming Services - HTML5 Dev Conf
Using Node.js to Build Great Streaming Services - HTML5 Dev Conf
 
Streams are Awesome - (Node.js) TimesOpen Sep 2012
Streams are Awesome - (Node.js) TimesOpen Sep 2012 Streams are Awesome - (Node.js) TimesOpen Sep 2012
Streams are Awesome - (Node.js) TimesOpen Sep 2012
 
Using Node.js to improve the performance of Mobile apps and Mobile web
Using Node.js to improve  the performance of  Mobile apps and Mobile webUsing Node.js to improve  the performance of  Mobile apps and Mobile web
Using Node.js to improve the performance of Mobile apps and Mobile web
 
Writing robust Node.js applications
Writing robust Node.js applicationsWriting robust Node.js applications
Writing robust Node.js applications
 
Creating the Internet of Things with JavaScript - Fluent Conf
Creating the Internet of Things with JavaScript - Fluent ConfCreating the Internet of Things with JavaScript - Fluent Conf
Creating the Internet of Things with JavaScript - Fluent Conf
 
Using Node.js to make HTML5 work for everyone
Using Node.js to make HTML5 work for everyone Using Node.js to make HTML5 work for everyone
Using Node.js to make HTML5 work for everyone
 
A million connections and beyond - Node.js at scale
A million connections and beyond - Node.js at scaleA million connections and beyond - Node.js at scale
A million connections and beyond - Node.js at scale
 
OSCON 2011 - Node.js Tutorial
OSCON 2011 - Node.js TutorialOSCON 2011 - Node.js Tutorial
OSCON 2011 - Node.js Tutorial
 
Lessons from a coding veteran - Web Directions @Media
Lessons from a coding veteran - Web Directions @MediaLessons from a coding veteran - Web Directions @Media
Lessons from a coding veteran - Web Directions @Media
 
Multi-tiered Node Architectures - JSConf 2011
Multi-tiered Node Architectures - JSConf 2011Multi-tiered Node Architectures - JSConf 2011
Multi-tiered Node Architectures - JSConf 2011
 
A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...
 
A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...
 
How to stop writing spaghetti code
How to stop writing spaghetti codeHow to stop writing spaghetti code
How to stop writing spaghetti code
 
Doing Horrible Things with DNS - Web Directions South
Doing Horrible Things with DNS - Web Directions SouthDoing Horrible Things with DNS - Web Directions South
Doing Horrible Things with DNS - Web Directions South
 
Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup
Doing Horrible Things to DNS in the Name of Science - SF Performance MeetupDoing Horrible Things to DNS in the Name of Science - SF Performance Meetup
Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup
 
JavaScript is the new black - Why Node.js is going to rock your world - Web 2...
JavaScript is the new black - Why Node.js is going to rock your world - Web 2...JavaScript is the new black - Why Node.js is going to rock your world - Web 2...
JavaScript is the new black - Why Node.js is going to rock your world - Web 2...
 
How to stop writing spaghetti code - JSConf.eu 2010
How to stop writing spaghetti code - JSConf.eu 2010How to stop writing spaghetti code - JSConf.eu 2010
How to stop writing spaghetti code - JSConf.eu 2010
 
Sf perf
Sf perfSf perf
Sf perf
 
Node.js and How JavaScript is Changing Server Programming
Node.js and How JavaScript is Changing Server Programming  Node.js and How JavaScript is Changing Server Programming
Node.js and How JavaScript is Changing Server Programming
 
Server Side JavaScript - You ain't seen nothing yet
Server Side JavaScript - You ain't seen nothing yetServer Side JavaScript - You ain't seen nothing yet
Server Side JavaScript - You ain't seen nothing yet
 

Recently uploaded

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Recently uploaded (20)

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

YQL - A Query Language for the Web

  • 1. YQL A Query Language for the Web Jonathan Trevor (jtrevor@yahoo-inc.com)
  • 9. data manipulation Application = + data visualization
  • 10.
  • 11. dev
  • 12. dev
  • 13. dev
  • 14. dev
  • 15. dev
  • 16. dev
  • 17. dev
  • 18. dev
  • 19. dev
  • 20. dev
  • 21. dev
  • 22. var map = new YMap(document.getElementById('map')); … var currentGeoPoint = new dev YGeoPoint( _c.Lat, _c.Lon ); map.addMarker(currentGeoPoint); …
  • 23. var map = new YMap(document.getElementById('map')); … var currentGeoPoint = new dev YGeoPoint( _c.Lat, _c.Lon ); map.addMarker(currentGeoPoint); … … if (flickcurl_prepare(fc, quot;flickr.photos.geo.correctLocationquot;, parameters, count)) { … } …
  • 24. var map = new YMap(document.getElementById('map')); … var currentGeoPoint = new dev YGeoPoint( _c.Lat, _c.Lon ); map.addMarker(currentGeoPoint); … … if (flickcurl_prepare(fc, quot;flickr.photos.geo.correctLocationquot;, parameters, count)) { … } … http://search.yahooapis.com/ ImageSearchService/V1/imageSearch? appid=YahooDemo&query=Corvette&results=2
  • 25. var map = new YMap(document.getElementById('map')); … var currentGeoPoint = new dev YGeoPoint( _c.Lat, _c.Lon ); map.addMarker(currentGeoPoint); … … if (flickcurl_prepare(fc, quot;flickr.photos.geo.correctLocationquot;, parameters, count)) { … } … http://search.yahooapis.com/ ImageSearchService/V1/imageSearch? appid=YahooDemo&query=Corvette&results=2 http://weather.yahooapis.com/ forecastrss?p=FRXX0076&u=c
  • 26. var map = new YMap(document.getElementById('map')); … var currentGeoPoint = new dev YGeoPoint( _c.Lat, _c.Lon ); map.addMarker(currentGeoPoint); … … if (flickcurl_prepare(fc, quot;flickr.photos.geo.correctLocationquot;, parameters, count)) { … } … http://search.yahooapis.com/ ImageSearchService/V1/imageSearch? appid=YahooDemo&query=Corvette&results=2 http://weather.yahooapis.com/ forecastrss?p=FRXX0076&u=c
  • 27. var map = new YMap(document.getElementById('map')); … var currentGeoPoint = new dev YGeoPoint( _c.Lat, _c.Lon ); map.addMarker(currentGeoPoint); … … if (flickcurl_prepare(fc, quot;flickr.photos.geo.correctLocationquot;, parameters, count)) { … } … http://search.yahooapis.com/ ImageSearchService/V1/imageSearch? appid=YahooDemo&query=Corvette&results=2 http://weather.yahooapis.com/ forecastrss?p=FRXX0076&u=c
  • 28. var map = new YMap(document.getElementById('map')); … var currentGeoPoint = new dev YGeoPoint( _c.Lat, _c.Lon ); map.addMarker(currentGeoPoint); … … if (flickcurl_prepare(fc, quot;flickr.photos.geo.correctLocationquot;, parameters, count)) { … } … http://search.yahooapis.com/ ImageSearchService/V1/imageSearch? appid=YahooDemo&query=Corvette&results=2 http://weather.yahooapis.com/ forecastrss?p=FRXX0076&u=c
  • 29. var map = new YMap(document.getElementById('map')); … var currentGeoPoint = new dev YGeoPoint( _c.Lat, _c.Lon ); map.addMarker(currentGeoPoint); … … if (flickcurl_prepare(fc, quot;flickr.photos.geo.correctLocationquot;, parameters, count)) { … } … http://search.yahooapis.com/ ImageSearchService/V1/imageSearch? appid=YahooDemo&query=Corvette&results=2 http://weather.yahooapis.com/ forecastrss?p=FRXX0076&u=c
  • 30. var map = new YMap(document.getElementById('map')); … var currentGeoPoint = new dev YGeoPoint( _c.Lat, _c.Lon ); map.addMarker(currentGeoPoint); ? … … if (flickcurl_prepare(fc, ? quot;flickr.photos.geo.correctLocationquot;, parameters, count)) { … } … ? http://search.yahooapis.com/ ImageSearchService/V1/imageSearch? appid=YahooDemo&query=Corvette&results=2 ? http://weather.yahooapis.com/ forecastrss?p=FRXX0076&u=c
  • 31. var map = new YMap(document.getElementById('map')); … var currentGeoPoint = new dev YGeoPoint( _c.Lat, _c.Lon ); map.addMarker(currentGeoPoint); ? … … if (flickcurl_prepare(fc, ? quot;flickr.photos.geo.correctLocationquot;, parameters, count)) { … } … ? http://search.yahooapis.com/ ImageSearchService/V1/imageSearch? appid=YahooDemo&query=Corvette&results=2 ? http://weather.yahooapis.com/ forecastrss?p=FRXX0076&u=c
  • 32. Yahoo! My Yahoo! Mail Welcome, guest Sign In Search var map = new MY PROJECTS APIs & WEB SERVICES RESOURCES SUPPORT YMap(document.getElementById('map')); YDN Maps Suite AJAX Maps Yahoo! Maps Web Services - AJAX API Getting READY TO GET STARTED? … You aren't signed in Sign In Help Started Guide Get an App ID var currentGeoPoint = new dev Home The Tour Sign Up Explore Search Learn the fundamentals of the Yahoo! Maps AJAX API and start creating your own maps. This page contains: YGeoPoint( _c.Lat, _c.Lon ); Introduction and Prerequisites Yahoo! Maps Cheatsheets Flickr Services RECENT BLOG ARTICLES Yahoo! My Yahoo! Mail Examples Welcome, guest Sign In API Documentation Feeds Your API Keys map.addMarker(currentGeoPoint); Display a Yahoo! Map ? Apply for a new API Key Search Add controls to your Yahoo! Map Leonardo da Vinci: Hacker … January 24, 2009 Add a logger to a Yahoo! Map Place a marker on a Yahoo! Map MY PROJECTS APIs & WEB SERVICES RESOURCES SUPPORT Draw Polylines on a Yahoo! Map Whaddyathink? & the Yahoo! Application flickr.places.getPlaceTypes Place Smart Markers on a Yahoo! Map Platform YDN Weather RSS Feed Add multiple custom markers on Yahoo! Map January 22, 2009 Traffic information overlay Yahoo! Weather RSS Feed Yahoo! Pipes RSS output information overlay Making the new Yahoo! Currency Converter Yahoo! My Yahoo! Mail Welcome, guest Sign In Fetches a list of available place types for Flickr. Yahoo! Pipes JSON output information overlay accessible YMap Local search results overlay The Weather RSS feed enables you Januaryto get up-to-date weather information for your location. You can save this 21, 2009 … Search Overlay GeoRSS XML data feed in My Yahoo! or your favorite feed aggregator, or incorporate the RSS data into your own web site or client Overlay custom objects at YGeoPoint location application. The Weather RSSRetrievingdynamically-generatedfrom based on zip code or Location ID. feed is a and displaying data feed Authentication Overlay custom objects at YCoordPoint location if (flickcurl_prepare(fc, Wikipedia with YQL PROJECTS MY APIs & WEB SERVICES RESOURCES SUPPORT Overlay polyline on Yahoo! Map This page describes the format of the 18, 2009 URL and the RSS response for developers. It contains these January request ? Export Yahoo! Map in GeoRSS format YDN Image Search Documentation for Yahoo! Search Web Services This method does not require authentication. quot;flickr.photos.geo.correctLocationquot;, sections: GeoRSS overlay with polyline Image Search Documentation for Yahoo! Search Get zoom level given radius from center READY TO GET STARTED? RSS Request Arguments Custom position of controls parameters, count)) { … } By applying for an Application ID for this service, you Summary Change Marker Images Dynamically hereby agree to the Terms of Use Request Parameters Use YMapTypeControl to position map types Submitting Image Queries … api_key (Required) Other Features of the Yahoo! Maps AJAX API RSS Response YEvent, YGeoRSS, YMarker Get an App ID Rate Limit Your API application key. See here for moreTop-Level Elements details. The Image Search Web Service allows you to search the Internet for images. Terms of Service Channel Elements Support & Community Image Elements ? Example Response Item Elements Request URL Download all of the cheatsheets and example code in the Yahoo Condition Codes view all YAHOO! GROUPS DISCUSSIONS Maps API Reference Bundle. http://search.yahooapis.com/ImageSearchService/V1/imageSearch <place_types> Examples yahoo local search code in php For detailed descriptions of the classes and methods in the API, place_type_id=quot;22quot;>neighbourhood</place_type> <place_type Terms of Use Tue, 27 Jan 2009 check out v3.8 Reference Manual. <place_type place_type_id=quot;7quot;>locality</place_type> http://search.yahooapis.com/ Request parameters <place_type place_type_id=quot;9quot;>county</place_type> RSS Request My Web Search API shut down <place_type place_type_id=quot;8quot;>region</place_type> Remaining, Supporting Classes announcement See information on constructing REST queries ImageSearchService/V1/imageSearch? <place_type place_type_id=quot;12quot;>country</place_type> The Weather RSS feed request follows simple HTTP GET syntax: start with a base URL and then add Wed, 21 Jan 2009 Introduction and Prerequisites <place_type place_type_id=quot;29quot;>continent</place_type> (?). Multiple parameters are separated by an ampersand (&). parameters and values after a question mark Parameter Value Description </place_types> appid=YahooDemo&query=Corvette&results=2 Re: Site Explorer API returns 999 Rate Limit appid string (required) The application ID. See Application IDs for more information. The Yahoo! AJAX Maps API lets developers add maps to their web sites using DHTML and JavaScript®. the Weather RSS feed is The base URL for Maps Exceeded are fully embeddable and scriptable using the JavaScript programming language. Yahoo! Maps AS-Flash API's query string (required) The query to search for. Use + to include terms, - to exclude terms, and ? Wed, 21 Jan 2009 Error Codes put quotes around quot;exact phrasequot;. built-in geocoder means that you can specify a physical address or latitude/longitude coordinates for your map's http://weather.yahooapis.com/forecastrss location, as you like. type all (default), any, or The kind of search to submit: Reminder: Old obsolete versions of Local In this section, Summary shows how to make an RSS request with different parameters; Request Parameters phrase Search (V1, V2) shutting do In order to create and test applications 100: Yahoo! Maps AJAX API, you'll need to use a supported summarizing those parameters. using Invalid API Key shows a table web Mon, 19 Jan 2009 all returns results with all query terms. The API key passed was not valid or has expired. any returns results with one or more of the query terms. browser: Firefox 2, Internet Explorer 6 or 7, Opera 9 or Safari 3. Newer versions of these browsers are also phrase returns results containing the query terms as a phrase. supported. You can code your JavaScript applications usingcurrently unavailable 105: Service your favorite text editor or IDE. SUMMARY results integer: default 10, The number of results to return. The requested service is temporarily unavailable. max 50 An application ID is required to use the Yahoo! Maps AJAX API. You can get an application ID here. The Weather RSS feed request follows simple HTTP GET syntax: start with a base URL and then add 111: Format quot;xxxquot; not found start integer: default 1 by an starting result position to return (1-based). The finishing position (start The ampersand (&). For parameters and values after a question mark (?). Multiple parameters are separated For best results, you should launch your web pagesrequested response format was not found. applications The from a web server. However, it's possible to run + results - 1) cannot exceed 1000. the Weather RSS feed there are two parameters: directly from your hard drive by double-clickingMethod This can be donefound 112: on them. quot;xxxquot; not by lowering the security settings in format any (default), bmp, Specifies the kind of image file to search for. the Internet Explorer browser or by setting the The requested method was not found. p for location. UniversalBrowserRead property in Firefox. gif, jpeg, png u for degrees units (Fahrenheit or Celsius). adult_ok http://weather.yahooapis.com/ no value or 1 The service filters out adult content by default. Enter a 1 to allow adult 114: Invalid SOAP envelope content. The SOAP envelope send in the requestlocationnot be parsed. required. Use this parameter to indicate the location for the weather forecast as a The could parameter p is Displaying a Yahoo! Map coloration any (default), color, The service returns only the images of the coloration specified (color or zip code or Location ID. forecastrss?p=FRXX0076&u=c 115: Invalid XML-RPC Method Call bw black-and-white). All the API classes and methods necessary to interact with Yahoo! Mapsdocument couldyour application when The XML-RPC request are availablehttp://weather.yahooapis.com/forecastrss?p=location to not be parsed. site string: default no A domain to restrict your searches to (e.g. www.yahoo.com). You may you include Yahoo! Maps AJAX API library in your web page.This example uses the demonstration application value submit up to 30 values (site=www.yahoo.com&site=www.cnn.com). ID quot;YD-eQRpTl0_JX2E95l_xAFs5UwZUlNQhhn7lj1Hquot;; you cannot use this Application Forand must requestweather for Yahoo! Headquarters in Sunnyvale, CA, use the zip ID example, to get one code for Sunnyvale API Explorer output string: xml The format for the output. If json is requested, the results will be returned here. (94089): (default), json, php in JSON format. If php is requested, the results will be returned in Serialized PHP format. API Explorer : flickr.places.getPlaceTypes <html> http://weather.yahooapis.com/forecastrss?p=94089 callback string The name of the callback function to wrap around the JSON data. The <head> following characters are allowed: A-Z a-z 0-9 . [] and _. If output=json has Or use the Location ID for Sunnyvale (USCA1116): <b><script type=quot;text/javascriptquot; not been requested, this parameter has no effect. More information on the src=quot;http://api.maps.yahoo.com/ajaxymap?v=3.8&appid=YD-
  • 33. YQL select * from internet
  • 34. var map = new YMap(document.getElementById('map')); … var currentGeoPoint = new dev YGeoPoint( _c.Lat, _c.Lon ); map.addMarker(currentGeoPoint); … … if (flickcurl_prepare(fc, quot;flickr.photos.geo.correctLocationquot;, parameters, count)) { … } … http://search.yahooapis.com/ ImageSearchService/V1/imageSearch? appid=YahooDemo&query=Corvette&results=2 http://weather.yahooapis.com/ forecastrss?p=FRXX0076&u=c
  • 35. dev YQL
  • 36. dev YQL
  • 37. dev Bindings YQL
  • 38. dev Bindings YQL
  • 39. dev Bindings YQL YQL stmt
  • 40. dev Bindings YQL YQL stmt select
  • 41. dev Bindings YQL YQL stmt select desc
  • 42. dev Bindings YQL YQL stmt select desc show
  • 43. Why YQL? Thousands of Web Services and sources that provide valuable data Require Developers to read documentation and form URLs/queries. Data is isolated Needs combining, tweaking, shaping even after it gets to the developer.
  • 44. YQL SQL-Like Language Synonymous with Data access Familiar to developers Expressive enough to get the right data. Self Describing - show, desc table Allows you to query, filter and join data across WebServices.
  • 45. YQL Statement Basics Verbs show: lists the supported tables desc: describes the structure of a table select: fetches data use: use an Open Data Table show tables desc social.contacts
  • 46. YQL Select Statement Syntax SELECT what FROM collection WHERE filter condition IN (sub-select) LIMIT n OFFSET n
  • 48. Sounds Good. But what about my Web Service?
  • 49. Can I add my data tables?
  • 54. Open Data Tables Bindings YQL
  • 57. Open Data Tables Map YQL to Endpoint YQL
  • 62. Open Data Tables Schema defines mapping between YQL and Endpoint Keys can either be query, path or matrix parameters Keys can be marked as required YQL Compiler validates existence of required keys
  • 63. Execute Run JavaScript as part of your Open Data Table Manipulate input and output data Query multiple YQL tables and mash them together
  • 65. USE Verb use ‘http://url-to-def.xml’ as tableName; select * from tableName where key=‘value’... Imports the Table definition Makes it available to following statements as tableName desc tableName - describes the def Acts like a First Class Data Source just like other YQL Tables.
  • 66. Environment files Text files that contain multiple table “use” statements Useful for defining your own default working sets of tables No need to “use” per call
  • 67. Using environment files http://query.yahooapis.com/v1/yql? q=...&env=http://... http://developer.yahoo.com/v1/yql? env=http://... Add a query parameter to the web service or console call Shows up in console table list / show tables http://developer.yahoo.com/yql/console/?env=http:// github.com/spullara/yql-tables/raw/ ef685688d649a7514ebd27722366b2918d966573/alltables.env
  • 69. Accessing YQL OAuth Endpoint http://query.yahooapis.com/v1/yql?q=... Public Endpoint http://query.yahooapis.com/v1/public/yql?q= YQL Console http://developer.yahoo.com/yql/console
  • 73. Conclusion build applications more easily less lines of code consistent and familiar syntax for all data access iterative environment for developing the query
  • 74. Conclusion build applications that run faster service in the cloud does the work with smaller network footprint fewer (client) calls smaller data amounts closer to the data, fatter pipes
  • 75. data
  • 76. One API : YQL
  • 77. Questions? @sh1mmer http://speakerrate.com/sh1mmer

Editor's Notes

  1. Lets take an example of a developer trying
  2. Lets take an example of a developer trying
  3. Lets take an example of a developer trying
  4. Lets take an example of a developer trying
  5. Lets take an example of a developer trying
  6. Lets take an example of a developer trying
  7. Lets take an example of a developer trying
  8. Lets take an example of a developer trying
  9. Lets take an example of a developer trying
  10. Lets take an example of a developer trying
  11. Lets take an example of a developer trying
  12. - How do you YQLize a webservice? - Bindings - - Schema defines a way to map the YQL Compiler Service to the WebService Endpoint - Keys can either be path, query or matrix parameters. - They can be marked required or optional.
  13. - How do you YQLize a webservice? - Bindings - - Schema defines a way to map the YQL Compiler Service to the WebService Endpoint - Keys can either be path, query or matrix parameters. - They can be marked required or optional.
  14. - How do you YQLize a webservice? - Bindings - - Schema defines a way to map the YQL Compiler Service to the WebService Endpoint - Keys can either be path, query or matrix parameters. - They can be marked required or optional.
  15. - How do you YQLize a webservice? - Bindings - - Schema defines a way to map the YQL Compiler Service to the WebService Endpoint - Keys can either be path, query or matrix parameters. - They can be marked required or optional.
  16. - How do you YQLize a webservice? - Bindings - - Schema defines a way to map the YQL Compiler Service to the WebService Endpoint - Keys can either be path, query or matrix parameters. - They can be marked required or optional.
  17. - How do you YQLize a webservice? - Bindings - - Schema defines a way to map the YQL Compiler Service to the WebService Endpoint - Keys can either be path, query or matrix parameters. - They can be marked required or optional.
  18. - OAuth CK + CS + Optional OAuth dance for any social tables. - Public endpoint requires no auth and can be accessed directly - YQL Console is a test bed where you can try out your queries.
  19. Since YQL and Pipes are brought to you by the same team, we thought it&#x2019;d be great to add a YQL module to pipes.