53
YQL David J. Brenes Martínez Desarrollador en Grupo Índigo Herramientas Datos disponibles Tablas en YQL Información estructurada Community Tables Sintaxis Documentación Obtención de datos Filtrado Unión entre tablas Paginación Post-operaciones Inserción, Actualización y Borrado YQL y PHP Recursos, Créditos y Yahoo! Query Language David J. Brenes Martínez Desarrollador en Grupo Índigo Curso de Extensión Universitaria Desarrollo de aplicaciones web mediante servicios web y APIs abiertas Universidad de Oviedo 2009/07/21

Yahoo! Query Language

  • View
    2.611

  • Download
    2

Embed Size (px)

DESCRIPTION

Transparencias que muestran la mayor parte de los aspectos del Yahoo! Query Language así como sentencias de uso. Usado en el Curso de Extensión Universitaria "Desarrollo de aplicaciones web mediante servicios web y APIs abiertas" de la Universidad de Oviedo: http://directo.uniovi.es/postgrado/cabecera_ep.asp?Curso=2008&IdPrograma=5187

Citation preview

Page 1: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Yahoo! Query Language

David J. Brenes MartínezDesarrollador en Grupo Índigo

Curso de Extensión UniversitariaDesarrollo de aplicaciones web mediante servicios web y APIs abiertas

Universidad de Oviedo

2009/07/21

Page 2: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Ejecución de consultas

Mediante la URL: http://query.yahooapis.com/v1/public/yql?q=select*fromupcoming.events&format=json

Mediante consola de desarrollo:http://developer.yahoo.com/yql/console/

Page 3: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Privacidad de los datos

API públicaSolo tablas públicas.Número de peticiones limitado.No necesidad de autenticación.

API privadaTablas privadas disponibles.Número de peticiones ilimitado.Implementación de oAuth.

Page 4: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Social

social.connectionssocial.profilesocial.updatessocial.presencesocial.contacts

Dataset Privado

Page 5: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Flickr

flickr.locationflickr.photos.exifflickr.photos.infoflickr.photos.interestingnessflickr.photos.recentflickr.photos.searchflickr.places

Page 6: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Geolocalización

geo.placesgeo.places.ancestorsgeo.places.belongtosgeo.places.neighborsgeo.places.childrengeo.places.parentgeo.places.siblingsgeo.placetypes

Page 7: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Búsquedas

local.searchsearch.imagessearch.newssearch.web

Page 8: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Upcoming

upcoming.categoryupcoming.countryupcoming.eventsupcoming.events.bestinplaceupcoming.groupsupcoming.metroupcoming.stateupcoming.venue

Page 9: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

MyBloglog

mybloglog.community.findmybloglog.membermybloglog.member.contactsmybloglog.member.newwithcontactsmybloglog.member.newwithmemybloglog.members.findmybloglog.stats.find

mybloglog.stats.find es privado

Page 10: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Otros

weather.forecastgnip.activities

Page 11: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Datos externos

feedatomjsonrssxmlhtmlcvsmicroformats

Page 12: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Community Tables

Son tablas creadas por usuariosEspecifican la ejecución de servicios web al serinvocadasSe trata de ficheros XML disponibles en un servidorEL XML incorpora información de autenticación,ejemplos. . .

Page 13: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Usando Community Tables

Para usarlas se declaran antes de la sentencia YQLPara declararlas necesitaremos su URL

Ejemplo de declaración de una Community TableUSE "http://www.datatables.org/yahoo/search/yahoo.search.suggestions.xml" as sug;select * from sug where command="gogle"

Page 14: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Seguridad en las Community Tables

Algunas tablas requieren permisos para ser ejecutadasLa autenticación se realiza por medio de oAuth

Page 15: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Definición de tablas

Se definen mediante un XMLEn el XML se indica

La URL a la que se realizará la llamada al servicio webLos parámetros requeridos y opcionales

Ejemplo: http://github.com/spullara/yql-tables/blob/5256ac8b5a05ee08eff8d0a1dccd53d0d67b5903/twitter/twitter.user.timeline.xml

Page 16: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Definición de tablas - Table

Indica información básica de la tablaAgrupa a todos los demás elementosPermite indicar el nivel de accesoPermite indicar la necesidad de usar HTTPS

Page 17: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Definición de tablas - Meta

Indica metainformación de la tablaAutorDescripciónQuery de Ejemplo

Page 18: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Definición de tablas - CRUD

Elementos Select/Insert/Update/DeleteIndican puntos de entrada para cada operaciónPermiten especificar los parámetros y el retorno

Page 19: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Definición de tablas - Inputs

Nos indican los parámetros de la sentencia en YQLkey se usa para referirse a campos de la tabla (porejemplo, al hacer un ‘where’ en la sentencia ‘select’value se usa para introducir valores en las sentenciasINSERT y UPDATEmap permite especificar variables que se usaran alejecutar código en la tabla

Page 20: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Definición de tablas - Paginación

Permite indicar parámetros básicos de paginaciónComienzo de la paginaciónTamaño máximo de cada páginaSiguientes páginas de resultados

Page 21: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Definición de tablas - Execute

Permite ejecutar código javascript al recibir la peticiónEn lugar de realizar la petición al servicio web seejecuta el código javascriptHay toda una serie de funciones que permiten ejecutarnuevas consultas, consumir nuevos servicios REST. . .

Page 22: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Show

SHOW tables

Nos lista todas las tablas disponibles.Algunas tablas no están documentadas en la GuíaOficial.

Page 23: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Desc

DESC flickr.photos.search

Nos lista todas las tablas disponibles.Algunas tablas no están documentadas en la GuíaOficial.

Page 24: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Select

SELECT * FROM flickr.photos.search

Sentencia para obtener daos de una tabla.Sintaxis similar a SQL.

Page 25: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Formato de la respuesta

JSONXML

Se indica como parámetro GET en la petición .

Page 26: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Información incluida

Información sobre la consulta

Tiempo de ejecución.Número de elementos devueltosIdiomaLlamada a la API correspondiente

Page 27: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Información incluida

Resultados

Estructura de árbol.Acceso a los hijos mediante el operador ‘.’ (p.ej:owner.id)

Page 28: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Selección de partes de la respuesta

SELECT title FROM flickr.photos.search

Se indica que hijo se desea obtener mediante el ‘.’

Page 29: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Where

SELECT * FROM flickr.photos.searchWHERE text="Asturias"

Filtra según el valor de ciertos campos del resultado.Se hace uso del ‘.’ para filtrar por subcampos.

Page 30: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Comparaciones y Operaciones Booleanas

Se admiten los operadores:

=!=<

<=>

>=LIKEIS NULLIS NOT NULL

Page 31: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Parámetros

SELECT * FROM flickr.photos.infoWHERE photo_id= 314159265

En ciertas tablas se requieren parámetros.Los parámetros se indican en el WHERE.No se corresponden con campos de los resultados.

Page 32: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Filtros y Parámetros

SELECT tags.tag.contentFROM flickr.photos.info

WHERE photo_id= 314159265AND tags.tag.author = "30126548@N00"

Se pueden mezclar sin problema.

Page 33: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

¿Joins?

SELECT tags.tag.contentFROM flickr.photos.search, flickr.photos.info

WHERE text= "Join"

Error sintáctico.No hay mecanismo explícito para hacer joins.

Page 34: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

In

SELECT * FROM flickr.photos.infoWHERE photo_id IN (SELECT idFROM flickr.photos.searchWHERE text="Marlango")

Puedes filtrarPermite mezclar en base a datos de otras tablas.

Page 35: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

In

SELECT * FROM geo.places WHERE woeid IN(SELECT location.woeid

FROM flickr.photos.info WHERE photo_id IN(SELECT id FROM flickr.photos.search

WHERE text="Marlango" AND has_geo = "true"))

Page 36: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Problemas de la cantidad de datos

Demasiados datos a transmitir: Problema de red.Demasiado proceso que realizar: Problema decaducidad de conexión.

Page 37: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Limitación local (Limit)

SELECT id FROM flickr.photos.searchWHERE text="Marlango" LIMIT 7

Limitas el número de resultados devueltos.La limitación se hace sobre los resultados consultados.Se soluciona el problema de los datos a transmitir

Page 38: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Limitación remota

SELECT id FROM flickr.photos.search(7)WHERE text="Marlango"

Limitas el número de resultados expuestos por la tabla(por defecto 10).Se puede eliminar la limitación (poniéndolo a 0)Se puede indicar el número del primer resultado atener en cuenta: (offset, limit).La limitación se hace sobre el tamaño de los datosexpuestos.Se soluciona el problema de los datos a procesar.

Page 39: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Limitación local y remota

Los efectos son parecidos.La limitación remota impone el máximo a la limitaciónlocal.La limitación remota indica el número máximo deelementos a obtener.

Page 40: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Offset

SELECT id FROM flickr.photos.searchWHERE text="Marlango" OFFSET 10

Indica qué elemento debe ser el primero en serdevuelto.Junto con la limitación permite implementar unasencilla paginación (p.ej: LIMIT 10 OFFSET 0, LIMIT10 OFFSET 10. . . ).

Page 41: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Sort

SELECT id FROM flickr.photos.searchWHERE text="Marlango" | sort(field=’title’)

Ordena resultados mediante un campo.

Page 42: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Tail

SELECT id FROM flickr.photos.searchWHERE text="Marlango" | tail(count=’3’)

Deja tan solo los count últimos resultados.

Page 43: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Truncate

SELECT id FROM flickr.photos.searchWHERE text="Marlango" | truncate(count=’3’)

Deja tan solo los count primeros resultados.

Page 44: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Reverse

SELECT id FROM flickr.photos.searchWHERE text="Marlango" | reverse()

Invierte el orden de los resultados.

Page 45: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Unique

SELECT id FROM flickr.photos.searchWHERE text="Marlango"

| unique(field=’result.isfamily’)

Agrupa los resultados similares en base al field.Descarta todos los elements excepto el primero.Le agrega un hijo con el número de repeticiones.

Page 46: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Insert

Sintaxis del INSERTINSERT INTO (table) (lista de campos) VALUES (lista devalores)

Realiza una petición al punto de entrada para el insert

Page 47: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Update

Sintaxis del UPDATEUPDATE (table) SET field=value WHERE filter+

Realiza una petición al punto de entrada para el update

Page 48: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Delete

Sintaxis del DELETEDELETE FROM [table] WHERE filter+

Realiza una petición al punto de entrada para el delete

Page 49: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Pasos

Se trata de un servicio RESTSe consume mediante peticiones GET

Page 50: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Y de aquí...

Los datos han llegado a nuestra aplicación.

Es hora de nuestra capa de negocio.

Page 51: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Recursos

Documentación: http://developer.yahoo.com/yql/guide/index.html

YQL COnsole:http://developer.yahoo.com/yql/console/

Page 52: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Créditos

La foto de engranajes (transparencia 43) fue publicadaen flickr por el usuario ‘pintamono’ (http://www.flickr.com/photos/pintamono/286791022/).

Page 53: Yahoo! Query Language

YQL

David J.Brenes

MartínezDesarrollador

en GrupoÍndigo

Herramientas

DatosdisponiblesTablas en YQL

Informaciónestructurada

Community Tables

SintaxisDocumentación

Obtención de datos

Filtrado

Unión entre tablas

Paginación

Post-operaciones

Inserción,Actualización yBorrado

YQL y PHP

Recursos,Créditos yLicencia

Licencia

Estas transparencias se publican bajo licencia CreativeCommons y se pueden redistribuir o modificar bajo lassiguientes condiciones:

Se dé reconocimiento al autor de estas transparencias.No se use con propósitos comerciales.Se distribuya con la misma licencia.

Texto de la licencia: http://creativecommons.org/licenses/by-nc-sa/3.0/