Yahoo! Query Language

Yahoo! Query Language - YDN

Yahoo! Query Language

What is YQL?

The Yahoo! Query Language is an expressive SQL-like
language that lets you query, filter, and join data across
Web services. With YQL, apps run faster with fewer lines
of code and a smaller network footprint.

Yahoo! and other websites across the Internet make much
of their structured data available to developers, primarily
through Web services. To access and query these services,
developers traditionally endure the pain of locating the
right URLs and documentation to access and query each Web
service.

With YQL, developers can access and shape data across
the Internet through one simple language, eliminating the
need to learn how to call different APIs.

How Do I Get Started?

  1. Check out the YQL Console.
  2. Read how to access YQL from your
    application
    .
  3. Get your API Keys to sign your requests if
    you need them.
  4. Check out the YQL frequently asked questions (FAQ) for answers to common issues.

Using the API or Web Service

  • YQL Overview

    YQL
    exposes an SQL-like SELECT syntax that is both
    familiar to developers and expressive enough for
    getting the right data. Through the SHOW and DESC
    commands, we enable developers to discover the
    available data sources and structure without
    opening another Web browser.

  • YQL Open Data Tables

    Open Data Tables enable developers to add tables
    for any data on the Web to our stable of
    API-specific tables. Using Open Data Tables, anyone
    can make their data YQL-accessible. If you would
    like to create an Open Data Table, visit the
    community page at http://datatables.org.

    Examples:

  • YQL Execute

    Building upon Open Data Tables, the Execute
    element gives developers full control of how the
    data is fetched into YQL and how it's presented
    back to the user. With Execute, developers can
    build tables that manipulate, change, and sign the
    URLs to access almost any protected content. This
    lets YQL access and combine data across a variety
    of different authenticated services such as Netflix or Twitter.
    Developers can call multiple services
    and data sources within Execute to join and mash up
    data however they desire, letting Yahoo! do the
    work rather than their applications. Data can be
    tweaked and manipulated into an optimal format for
    applications to consume.

    Execute elements run server-side JavaScript with
    E4X (native XML) support. This gives developers a
    fully functional language that Web developers know,
    and lets them do almost anything they want with the
    data. We've added a few new global objects to the
    language to enable developers to: include
    JavaScript libraries and code from any URL; fetch
    data from any URL/Web page; run other YQL commands;
    and perform data filtering and conversion.

    Examples:

    • CSS selectors for HTML
      - a CSS selector table for getting data
      from HTML pages

      use
      "http://yqlblog.net/samples/data.html.cssselect.xml";

      select * from data.html.cssselect;

      Try CSS
      selectors
      .

    • Unified web+image
      search
      - perform a BOSS search
      that also returns an image from the BOSS
      image search for the same site and query
      term in a single result set

      use
      'http://yqlblog.net/samples/search.imageweb.xml'
      as searchimageweb;

      select * from searchimageweb where
      query='pizza'

      Try
      Unified web+image search
      .

  • YQL Insert/ Update/ Delete

    You can use YQL to write and modify data on Web
    services and applications using SQL keywords:
    INSERT, UPDATE, and DELETE. These verbs let you
    manipulate data mapped onto an Open Data Table and
    enables developers to use Open Data Tables to do
    the following:

    • insert new update to Yahoo! Updates,
      not just list them
    • add new comments to a blog,
      as well as read them
    • store data in a remote
      database
    • INSERT INTO Internet

    Open Data Table (ODT) developers can add support
    for these verbs into their tables by creating new
    binding types in their ODT definitions. They can
    then perform the insert/update/delete on the remote
    web service by creating an execute element that
    runs their JavaScript to create the right content
    payload and send it to the remote service. We've
    extended the capabilities in our server-side
    JavaScript, so y.rest() can now POST, PUT and
    DELETE.

    Try creating a new Yahoo! update from the YQL console by
    following this link:


    INSERT INTO social.updates (guid, title, description) VALUES (me, "Using YQL", "Try YQL, it's fun.");

Using YQL for Commercial and Non-Commercial
Applications

Our goal is to make it easy for you to use YQL in the
widest possible range of applications. Please read the
notice and usage limits described below for more
information. If you have additional questions, please read
the YQL
Terms of Service
and/or contact us at the email address
below.

Notice

  • YQL can be used for commercial
    purposes
  • If we're going to shut down YQL, we
    will give you at least 6 months notice with an
    announcement on this web page and in our forum
  • YQL has a performance uptime target
    of over 99.5%

Usage Limits

  • Per application limit (identified
    by your Access Key): 100,000 calls per day
  • Per IP limits: /v1/public/*: 1,000
    calls per hour; /v1/yql/*: 10,000 calls per hour

Additional Notes

  • All rates are subject to
    change
  • You may also be subject to the
    underlying rate limits of other Yahoo! and 3rd party
    web services
  • YQL relies on the correct operation
    of the web services and content providers it
    accesses

Please send email to yql-questions [at] yahoo-inc.com
with requests for additional information.

Information for content and API providers

If you are a content or API provider and would like to learn how to opt out, or work better with YQL, please check our provider page.

Support and Community

Questions and suggestions on YQL are discussed on the YQL
Developer Community forum
. If you have questions or
need technical support, please use this forum.

原文地址:https://www.cnblogs.com/lexus/p/2390160.html