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


Nagesh Susarla
Agenda
Why YQL?
YQL Statement Basics
Accessing YQL
Q&A
Application ?
Application ?
Application ?
Application ?
Application ?
Application =
data manipulation
Application =
data manipulation
Application =           +
                data visualization
data
data
data
data
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
                                       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 to get up-to-date weather information for your location. You can save this
                                                                                                               January 21, 2009
                                                                                       …
      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
      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
                                        This method does not require authentication.
                                                                                       quot;flickr.photos.geo.correctLocationquot;,
                                                                                  sections:
      GeoRSS overlay with polyline
      Get zoom level given radius from center
                                                                                       RSS Request
                                     Arguments
      Custom position of controls
                                                                                       parameters, count)) { … }
                                                                                            Summary
      Change Marker Images Dynamically
                                                                                            Request Parameters
      Use YMapTypeControl to position map types
                                                                                       …
                                        api_key (Required)
Other Features of the Yahoo! Maps AJAX API                                             RSS Response
                                                                           YEvent, YGeoRSS, YMarker
Rate Limit                                     Your API application key. See here for moreTop-Level Elements
                                                                                              details.
Terms of Service                                                                            Channel Elements
Support & Community
                                                                                            Image Elements




                                                             ?
                                     Example Response                                       Item Elements
Download all of the cheatsheets and example code in the Yahoo
                                                                                            Condition Codes
Maps API Reference Bundle.
                                         <place_types>                                 Examples
For detailed descriptions of the classes and methods in the API, place_type_id=quot;22quot;>neighbourhood</place_type>
                                              <place_type                              Terms of Use
check out v3.8 Reference Manual.              <place_type place_type_id=quot;7quot;>locality</place_type>
                                                                                       http://search.yahooapis.com/
                                          <place_type          place_type_id=quot;9quot;>county</place_type>
                                                                              RSS Request
                                          <place_type          place_type_id=quot;8quot;>region</place_type>
                                                                       Remaining, Supporting Classes
                                                                                       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
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
                                      </place_types>
                                                                                       appid=YahooDemo&query=Corvette&results=2
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
are fully embeddable and scriptable using the JavaScript programming language. Yahoo! Maps AS-Flash API's




                                                             ?
                                     Error Codes
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.
                                                                                       In this section, Summary shows how to make an RSS request with different parameters; Request Parameters
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
                                                The API key passed was not valid or has expired.
browser: Firefox 2, Internet Explorer 6 or 7, Opera 9 or Safari 3. Newer versions of these browsers are also
supported. You can code your JavaScript applications usingcurrently unavailable
                                         105: Service your favorite text editor or IDE.
                                                                                 SUMMARY
                                             The requested service is temporarily unavailable.
An application ID is required to use the Yahoo! Maps AJAX API. You can get an application ID here.
                                        111: Format quot;xxxquot; not found The Weather RSS feed request follows simple HTTP GET syntax: start with a base URL and then add
                                                                                      parameters and values after a question mark (?). Multiple parameters are separated by an ampersand (&). For
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
                                                                                      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
the Internet Explorer browser or by setting the The requested method was not found. p for location.
                                                UniversalBrowserRead property in Firefox.
                                                                                      u for degrees units (Fahrenheit or Celsius).
                                                                                       http://weather.yahooapis.com/
                                    114: Invalid SOAP envelope
                                             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                                                          zip code or Location ID.
                                                                                       forecastrss?p=FRXX0076&u=c
                                    115: Invalid XML-RPC Method Call
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.
you include Yahoo! Maps AJAX API library in your web page.This example uses the demonstration application
ID quot;YD-eQRpTl0_JX2E95l_xAFs5UwZUlNQhhn7lj1Hquot;; you cannot use this Application Forand must requestweather for Yahoo! Headquarters in Sunnyvale, CA, use the zip code for Sunnyvale
                                                                                 ID example, to get one
                                     API Explorer
here.                                                                            (94089):

                            API Explorer : flickr.places.getPlaceTypes
 <html>                                                           http://weather.yahooapis.com/forecastrss?p=94089
 <head>
                                                                  Or use the Location ID for Sunnyvale (USCA1116):
 <b><script type=quot;text/javascriptquot;
 src=quot;http://api.maps.yahoo.com/ajaxymap?v=3.8&appid=YD-
YQL
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
Motivation
Thousands of Web Services that provide valuable
data
Requires 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 *new*


 show tables
 desc social.contacts
YQL Statement
Syntax


 SELECT what
 FROM collection
 WHERE filter condition
 IN (sub-select)
 LIMIT n OFFSET n
YQL Statement Basics
Syntax -> Select -> Collection


  FROM collection
  Yahoo! WebServices
       Social Dir, Upcoming, MyblogLog,
       Y!Local, Search(BOSS)
  External DataSources
       XML, Atom, RSS, JSON, CSV, HTML
YQL Statement Basics
Syntax -> Select -> WHERE clause


 Table data can be filtered in the WHERE
 clause either
      Remotely by the table data source
      Locally by the YQL engine (dot
      notation)
YQL Statement Basics
Syntax -> WHERE clause -> Remote Filter
WHERE <remote_key>=‘value’
     Tables require Keys in where clause
     Specified in the describe
       <query>
         <key name=”guid” required=”true” .../>
       </query>


     Correspond to query, path or matrix
     parameters for the Endpoint
YQL Statement Basics
Syntax -> WHERE clause -> Local Filter
WHERE <local_filter> OP ‘value’
     Filter an element or an attribute
   <movies>                   Dot notation:
   <movie>Star Wars</movie>   movies.movie LIKE ‘%Star%’
   <movie>StarTrek</movie>
   </movies>

     <, >, =, LIKE, matches, not matches,
     not like
     AND, OR binary operator combinations
YQL Statement Basics
Syntax -> Select -> Projection
SELECT <what>
   Uses the dot notation to project
   parts of matching item(s)
<results>
 <movie>
    <id>101</id>
                                 Projection: (relative to root)
    <name>Star Wars</name>
                                 select movie.id, movie.name
 </movie>                        from ...
 <movie>...</movie>
</results>
YQL Statement Basics
Syntax -> Select -> Sub-Select
IN (SELECT ...)
     Join across data sources
     field IN (select guid from ...)
     Like SELECT but can return only
     N leaves

 Get the profile for all my connections:

 select * from social.profile where guid in
 (select guid from social.connections where owner_guid = me)
YQL Statement Basics
Syntax -> Select -> Sub-Select
IN (SELECT ...)
     (field, ...fieldN) IN (SELECT
     f1,...fn from table)

Get the Location name of the given Photo:

select place.name from flickr.places where (lat, lon) in
 (select location.latitude, location.longitude from
flickr.photos.info where photo_id='3030238604')
YQL Statement Basics
Syntax -> Select -> Table Size
Changing the Table Size
     Yahoo! Tables are limited to a
     small number by default (10)
      select * from local.search where zip=‘94089’
                    and query=‘pizza’


     Increase set size as parameters
     to Collection
      select * from local.search(100) where
      zip=‘94089’ and query=‘pizza’
YQL Statement Basics
Syntax -> Post Query Manipulation

Post Select processing using
‘pipe’ symbol.
     select ... | sort(field=‘item.pubDate’)
     select ... | unique(field=‘item.title’)
     select ... | tail(count=10)

Functions operate on return data.
Operations unrelated to table or
data source.
YQL Statement Basics
Syntax -> YQL Variables (@var)
    Like Prepared Statements for YQL
    Substitutes Query parameter
     http://<>?q=....&city=Bangalore&state=Karnataka

     select * from table where city=@city and state=@state

    Can be used in sub-selects


    select * from table where city in (@city, @city2,
    @city3)
YQL Statement Basics
Syntax -> YQL Variables (@var)
    Multi Valued variables

 http://<>?q=....&city=Bangalore&city=Mumbai

 select * from table where city in (@city)
Sounds Good.
But what about my
WebService?
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
USE Verb
use ‘http://url-to-def.xml’ as tableName;
select * from tableName where key=‘value’...
Imports the Table defintion
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.
data
One API : 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
Q&A

More Related Content

Viewers also liked

Dana Hee One Sheet
Dana Hee One SheetDana Hee One Sheet
Dana Hee One Sheetdanahee
 
Manasota Track Club Letter
Manasota Track Club LetterManasota Track Club Letter
Manasota Track Club Letter
THECITYALLIANCE
 
goodyear Annual Report 1999
goodyear Annual Report 1999goodyear Annual Report 1999
goodyear Annual Report 1999finance12
 
Schneider0301
Schneider0301Schneider0301
Schneider0301
schneider190
 
goodyear 10K Reports 2001
goodyear 10K Reports 2001goodyear 10K Reports 2001
goodyear 10K Reports 2001finance12
 
Web 2.0, Educación y Sociedad de la información
Web 2.0, Educación y Sociedad de la informaciónWeb 2.0, Educación y Sociedad de la información
Web 2.0, Educación y Sociedad de la informaciónMarta Malpartida
 
Lead Today
Lead TodayLead Today
Lead Today
jimpiper
 
Privacidad En La Red
Privacidad En La RedPrivacidad En La Red
Privacidad En La Red
Martinbest
 
constellation energy 2008 Third Quarter Supporting Materials
constellation energy 2008 Third Quarter  Supporting Materialsconstellation energy 2008 Third Quarter  Supporting Materials
constellation energy 2008 Third Quarter Supporting Materialsfinance12
 
Gruende Nicht Mit Freunden Zu Trinken
Gruende Nicht Mit Freunden Zu TrinkenGruende Nicht Mit Freunden Zu Trinken
Gruende Nicht Mit Freunden Zu Trinkenacryloni
 
constellation energy Form 10-Q 2007 Second Quarter
constellation energy Form 10-Q 2007 Second Quarterconstellation energy Form 10-Q 2007 Second Quarter
constellation energy Form 10-Q 2007 Second Quarterfinance12
 
goodyear 8K Reports 02/01/08
goodyear 8K Reports 02/01/08goodyear 8K Reports 02/01/08
goodyear 8K Reports 02/01/08finance12
 
Trabajo Comunicación y Participación Ciuadadana en la Red
Trabajo Comunicación y Participación Ciuadadana en la RedTrabajo Comunicación y Participación Ciuadadana en la Red
Trabajo Comunicación y Participación Ciuadadana en la Red
madrizzity
 
constellation energy Charter of Compensation Committee
constellation energy Charter of Compensation Committeeconstellation energy Charter of Compensation Committee
constellation energy Charter of Compensation Committeefinance12
 
goodyear Annual Report 1998
goodyear Annual Report 1998goodyear Annual Report 1998
goodyear Annual Report 1998finance12
 

Viewers also liked (20)

Dana Hee One Sheet
Dana Hee One SheetDana Hee One Sheet
Dana Hee One Sheet
 
Manasota Track Club Letter
Manasota Track Club LetterManasota Track Club Letter
Manasota Track Club Letter
 
L A Caixa De Tintas Ma
L A Caixa De Tintas MaL A Caixa De Tintas Ma
L A Caixa De Tintas Ma
 
goodyear Annual Report 1999
goodyear Annual Report 1999goodyear Annual Report 1999
goodyear Annual Report 1999
 
Schneider0301
Schneider0301Schneider0301
Schneider0301
 
TDA Focus Group
TDA Focus GroupTDA Focus Group
TDA Focus Group
 
goodyear 10K Reports 2001
goodyear 10K Reports 2001goodyear 10K Reports 2001
goodyear 10K Reports 2001
 
Web 2.0, Educación y Sociedad de la información
Web 2.0, Educación y Sociedad de la informaciónWeb 2.0, Educación y Sociedad de la información
Web 2.0, Educación y Sociedad de la información
 
Lead Today
Lead TodayLead Today
Lead Today
 
BASURA
BASURABASURA
BASURA
 
Privacidad En La Red
Privacidad En La RedPrivacidad En La Red
Privacidad En La Red
 
constellation energy 2008 Third Quarter Supporting Materials
constellation energy 2008 Third Quarter  Supporting Materialsconstellation energy 2008 Third Quarter  Supporting Materials
constellation energy 2008 Third Quarter Supporting Materials
 
Gruende Nicht Mit Freunden Zu Trinken
Gruende Nicht Mit Freunden Zu TrinkenGruende Nicht Mit Freunden Zu Trinken
Gruende Nicht Mit Freunden Zu Trinken
 
Baccarelli Receptor Dioxins
Baccarelli Receptor DioxinsBaccarelli Receptor Dioxins
Baccarelli Receptor Dioxins
 
constellation energy Form 10-Q 2007 Second Quarter
constellation energy Form 10-Q 2007 Second Quarterconstellation energy Form 10-Q 2007 Second Quarter
constellation energy Form 10-Q 2007 Second Quarter
 
goodyear 8K Reports 02/01/08
goodyear 8K Reports 02/01/08goodyear 8K Reports 02/01/08
goodyear 8K Reports 02/01/08
 
World War Ii
World War IiWorld War Ii
World War Ii
 
Trabajo Comunicación y Participación Ciuadadana en la Red
Trabajo Comunicación y Participación Ciuadadana en la RedTrabajo Comunicación y Participación Ciuadadana en la Red
Trabajo Comunicación y Participación Ciuadadana en la Red
 
constellation energy Charter of Compensation Committee
constellation energy Charter of Compensation Committeeconstellation energy Charter of Compensation Committee
constellation energy Charter of Compensation Committee
 
goodyear Annual Report 1998
goodyear Annual Report 1998goodyear Annual Report 1998
goodyear Annual Report 1998
 

Similar to Yql Openhackday 2009

“SELECT * FROM internet;” como usar o YQL com Yahoo! Meme e outros serviços
“SELECT * FROM internet;” como usar o YQL com Yahoo! Meme e outros serviços“SELECT * FROM internet;” como usar o YQL com Yahoo! Meme e outros serviços
“SELECT * FROM internet;” como usar o YQL com Yahoo! Meme e outros serviços
Pedro Valente
 
YQL Open Hackday NYC talk
YQL Open Hackday NYC talkYQL Open Hackday NYC talk
YQL Open Hackday NYC talk
Jonathan Trevor
 
YQL - select * from internet version 2
YQL - select * from internet version 2YQL - select * from internet version 2
YQL - select * from internet version 2Tom Croucher
 
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
Pedro 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 09
bzanchet
 
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
 
YQL Tutorial
YQL TutorialYQL Tutorial
YQL Tutorial
Tom Croucher
 
Y Map Mashup Camp
Y Map Mashup CampY Map Mashup Camp
Y Map Mashup Camp
Jinho Jung
 
Google MAP API
Google MAP APIGoogle MAP API
Google MAP APIEric Lee
 
Seti 09
Seti 09Seti 09
Seti 09
bzanchet
 
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 Project
Kentaro Ishimaru
 
Google Maps Api
Google Maps ApiGoogle Maps Api
Google Maps Api
Anas Alpure
 
HTML5勉強会#23_GeoHex
HTML5勉強会#23_GeoHexHTML5勉強会#23_GeoHex
HTML5勉強会#23_GeoHex
Tadayasu Sasada
 
YQL
YQLYQL
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
Molecular Inc
 
Yandex Maps API
Yandex Maps APIYandex Maps API
Yandex Maps API
Yandex.Maps
 
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
Andy McKay
 

Similar to Yql Openhackday 2009 (20)

“SELECT * FROM internet;” como usar o YQL com Yahoo! Meme e outros serviços
“SELECT * FROM internet;” como usar o YQL com Yahoo! Meme e outros serviços“SELECT * FROM internet;” como usar o YQL com Yahoo! Meme e outros serviços
“SELECT * FROM internet;” como usar o YQL com Yahoo! Meme e outros serviços
 
YQL Open Hackday NYC talk
YQL Open Hackday NYC talkYQL Open Hackday NYC talk
YQL Open Hackday NYC talk
 
YQL - select * from internet version 2
YQL - select * from internet version 2YQL - select * from internet version 2
YQL - select * from internet version 2
 
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
 
YQL Tutorial
YQL TutorialYQL Tutorial
YQL Tutorial
 
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
 
Google Maps Api
Google Maps ApiGoogle Maps Api
Google Maps Api
 
HTML5勉強会#23_GeoHex
HTML5勉強会#23_GeoHexHTML5勉強会#23_GeoHex
HTML5勉強会#23_GeoHex
 
YQL
YQLYQL
YQL
 
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
 
Yandex Maps API
Yandex Maps APIYandex Maps API
Yandex Maps API
 
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
 

Recently uploaded

GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 

Recently uploaded (20)

GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 

Yql Openhackday 2009

  • 1. YQL A Query Language for the Web Nagesh Susarla
  • 2. Agenda Why YQL? YQL Statement Basics Accessing YQL Q&A
  • 10. data manipulation Application = + data visualization
  • 12. data
  • 13. data
  • 14.
  • 15. dev
  • 16. dev
  • 17. dev
  • 18. dev
  • 19. dev
  • 20. dev
  • 21. dev
  • 22. dev
  • 23. dev
  • 24. dev
  • 25. dev
  • 26. var map = new YMap(document.getElementById('map')); … var currentGeoPoint = new dev YGeoPoint( _c.Lat, _c.Lon ); map.addMarker(currentGeoPoint); …
  • 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)) { … } …
  • 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
  • 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. 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
  • 33. 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
  • 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. 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
  • 36. 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 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 to get up-to-date weather information for your location. You can save this January 21, 2009 … 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 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 This method does not require authentication. quot;flickr.photos.geo.correctLocationquot;, sections: GeoRSS overlay with polyline Get zoom level given radius from center RSS Request Arguments Custom position of controls parameters, count)) { … } Summary Change Marker Images Dynamically Request Parameters Use YMapTypeControl to position map types … api_key (Required) Other Features of the Yahoo! Maps AJAX API RSS Response YEvent, YGeoRSS, YMarker Rate Limit Your API application key. See here for moreTop-Level Elements details. Terms of Service Channel Elements Support & Community Image Elements ? Example Response Item Elements Download all of the cheatsheets and example code in the Yahoo Condition Codes Maps API Reference Bundle. <place_types> Examples For detailed descriptions of the classes and methods in the API, place_type_id=quot;22quot;>neighbourhood</place_type> <place_type Terms of Use check out v3.8 Reference Manual. <place_type place_type_id=quot;7quot;>locality</place_type> http://search.yahooapis.com/ <place_type place_type_id=quot;9quot;>county</place_type> RSS Request <place_type place_type_id=quot;8quot;>region</place_type> Remaining, Supporting Classes 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 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 </place_types> appid=YahooDemo&query=Corvette&results=2 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 are fully embeddable and scriptable using the JavaScript programming language. Yahoo! Maps AS-Flash API's ? Error Codes 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. In this section, Summary shows how to make an RSS request with different parameters; Request Parameters 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 The API key passed was not valid or has expired. browser: Firefox 2, Internet Explorer 6 or 7, Opera 9 or Safari 3. Newer versions of these browsers are also supported. You can code your JavaScript applications usingcurrently unavailable 105: Service your favorite text editor or IDE. SUMMARY The requested service is temporarily unavailable. An application ID is required to use the Yahoo! Maps AJAX API. You can get an application ID here. 111: Format quot;xxxquot; not found The Weather RSS feed request follows simple HTTP GET syntax: start with a base URL and then add parameters and values after a question mark (?). Multiple parameters are separated by an ampersand (&). For 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 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 the Internet Explorer browser or by setting the The requested method was not found. p for location. UniversalBrowserRead property in Firefox. u for degrees units (Fahrenheit or Celsius). http://weather.yahooapis.com/ 114: Invalid SOAP envelope 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 zip code or Location ID. forecastrss?p=FRXX0076&u=c 115: Invalid XML-RPC Method Call 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. you include Yahoo! Maps AJAX API library in your web page.This example uses the demonstration application ID quot;YD-eQRpTl0_JX2E95l_xAFs5UwZUlNQhhn7lj1Hquot;; you cannot use this Application Forand must requestweather for Yahoo! Headquarters in Sunnyvale, CA, use the zip code for Sunnyvale ID example, to get one API Explorer here. (94089): API Explorer : flickr.places.getPlaceTypes <html> http://weather.yahooapis.com/forecastrss?p=94089 <head> Or use the Location ID for Sunnyvale (USCA1116): <b><script type=quot;text/javascriptquot; src=quot;http://api.maps.yahoo.com/ajaxymap?v=3.8&appid=YD-
  • 37. YQL
  • 38. 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
  • 39. dev YQL
  • 40. dev YQL
  • 41. dev Bindings YQL
  • 42. dev Bindings YQL
  • 43. dev Bindings YQL YQL stmt
  • 44. dev Bindings YQL YQL stmt select
  • 45. dev Bindings YQL YQL stmt select desc
  • 46. dev Bindings YQL YQL stmt select desc show
  • 47. Motivation Thousands of Web Services that provide valuable data Requires developers to read documentation and form URLs/queries. Data is isolated Needs combining, tweaking, shaping even after it gets to the developer.
  • 48. 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.
  • 49. 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 *new* show tables desc social.contacts
  • 50. YQL Statement Syntax SELECT what FROM collection WHERE filter condition IN (sub-select) LIMIT n OFFSET n
  • 51. YQL Statement Basics Syntax -> Select -> Collection FROM collection Yahoo! WebServices Social Dir, Upcoming, MyblogLog, Y!Local, Search(BOSS) External DataSources XML, Atom, RSS, JSON, CSV, HTML
  • 52. YQL Statement Basics Syntax -> Select -> WHERE clause Table data can be filtered in the WHERE clause either Remotely by the table data source Locally by the YQL engine (dot notation)
  • 53. YQL Statement Basics Syntax -> WHERE clause -> Remote Filter WHERE <remote_key>=‘value’ Tables require Keys in where clause Specified in the describe <query> <key name=”guid” required=”true” .../> </query> Correspond to query, path or matrix parameters for the Endpoint
  • 54. YQL Statement Basics Syntax -> WHERE clause -> Local Filter WHERE <local_filter> OP ‘value’ Filter an element or an attribute <movies> Dot notation: <movie>Star Wars</movie> movies.movie LIKE ‘%Star%’ <movie>StarTrek</movie> </movies> <, >, =, LIKE, matches, not matches, not like AND, OR binary operator combinations
  • 55. YQL Statement Basics Syntax -> Select -> Projection SELECT <what> Uses the dot notation to project parts of matching item(s) <results> <movie> <id>101</id> Projection: (relative to root) <name>Star Wars</name> select movie.id, movie.name </movie> from ... <movie>...</movie> </results>
  • 56. YQL Statement Basics Syntax -> Select -> Sub-Select IN (SELECT ...) Join across data sources field IN (select guid from ...) Like SELECT but can return only N leaves Get the profile for all my connections: select * from social.profile where guid in (select guid from social.connections where owner_guid = me)
  • 57. YQL Statement Basics Syntax -> Select -> Sub-Select IN (SELECT ...) (field, ...fieldN) IN (SELECT f1,...fn from table) Get the Location name of the given Photo: select place.name from flickr.places where (lat, lon) in (select location.latitude, location.longitude from flickr.photos.info where photo_id='3030238604')
  • 58. YQL Statement Basics Syntax -> Select -> Table Size Changing the Table Size Yahoo! Tables are limited to a small number by default (10) select * from local.search where zip=‘94089’ and query=‘pizza’ Increase set size as parameters to Collection select * from local.search(100) where zip=‘94089’ and query=‘pizza’
  • 59. YQL Statement Basics Syntax -> Post Query Manipulation Post Select processing using ‘pipe’ symbol. select ... | sort(field=‘item.pubDate’) select ... | unique(field=‘item.title’) select ... | tail(count=10) Functions operate on return data. Operations unrelated to table or data source.
  • 60. YQL Statement Basics Syntax -> YQL Variables (@var) Like Prepared Statements for YQL Substitutes Query parameter http://<>?q=....&city=Bangalore&state=Karnataka select * from table where city=@city and state=@state Can be used in sub-selects select * from table where city in (@city, @city2, @city3)
  • 61. YQL Statement Basics Syntax -> YQL Variables (@var) Multi Valued variables http://<>?q=....&city=Bangalore&city=Mumbai select * from table where city in (@city)
  • 62. Sounds Good. But what about my WebService?
  • 63. Can I add my data tables?
  • 68. Open Data Tables Bindings YQL
  • 71. Open Data Tables Map YQL to Endpoint YQL
  • 76. 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
  • 77. USE Verb use ‘http://url-to-def.xml’ as tableName; select * from tableName where key=‘value’... Imports the Table defintion 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.
  • 78. data
  • 79. One API : YQL
  • 80. 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
  • 82. Q&A