SlideShare una empresa de Scribd logo
1 de 82
Descargar para leer sin conexión
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

Más contenido relacionado

Destacado

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
 

Destacado (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 a 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 a 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
 

Último

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 

Último (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

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