SlideShare a Scribd company logo
1 of 82
Download to read offline
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 LetterTHECITYALLIANCE
 
goodyear Annual Report 1999
goodyear Annual Report 1999goodyear Annual Report 1999
goodyear Annual Report 1999finance12
 
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 Todayjimpiper
 
Privacidad En La Red
Privacidad En La RedPrivacidad En La Red
Privacidad En La RedMartinbest
 
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 Redmadrizzity
 
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çosPedro Valente
 
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 Open Hackday NYC talk
YQL Open Hackday NYC talkYQL Open Hackday NYC talk
YQL Open Hackday NYC talkJonathan Trevor
 
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
 

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 - select * from internet version 2
YQL - select * from internet version 2YQL - select * from internet version 2
YQL - select * from internet version 2
 
YQL Open Hackday NYC talk
YQL Open Hackday NYC talkYQL Open Hackday NYC talk
YQL Open Hackday NYC talk
 
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

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

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